我们可以根据花瓣宽度创建一个新列,如果宽度大于1则是宽花瓣为1,否则为0
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv("/temp/iris.data",names=['花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度', '类别']) df['宽花瓣'] = df['花瓣宽度'].apply(lambda v:1 if v>=1 else 0) print(df)
也可以数据框上使用apply,而不是在一个单独的序列上
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv("/temp/iris.data",names=['花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度', '类别']) df['花瓣面积'] = df.apply(lambda r:r['花瓣宽度']*r['花瓣长度'],axis=1) print(df)
axis=1的参数来告诉pandas,我们要对行运用函数。如果传入了axis=0,那么该函数将对列进行操作。