新增列的一些操作
1.新增一个列,直接给列赋值
# 取所有行,新增的列为new_col df.loc[:, 'new_col'] = 100
2.使用df.apply方法给新增的列赋值
def get_wendu_type(x): if x['bWendu']>33: return '高温' if x['bWendu']<-10: return '低温' return '常温' # apply通过调用get_wendu_type函数,会得到一个series, 然后把这个series赋值给新增的列new_col_wendu_type # 如果axis=0的话,就是赋值给行 df.loc[:, 'new_col_wendu_type'] = df.apply(get_wendu_type, axis=1)
# 计数统计 df['new_col_wendu_type'].value_counts()
3.使用df.assign方法新增列,并赋值
# yWendu_huashidu,bWendu_huashidu为新增的列名 # 通过函数给列赋值 # 例如:将温度转化为华氏度 df.assign( yWendu_huashidu = lambda x: x['yWendu'] * 9 / 5 + 32, bWendu_huashidu = lambda x: x['yWendu'] * 9 / 5 + 32 )
4.先按条件筛选出数据,然后对于这些数据在新列上赋值
# 先创建一个空的列温度类型:wendu_type df['wendu_type'] = '' # 如果最高温度 - 最低温度 大于10 则将wendu_type列赋值为 温差大, 反之为 温差小 df.loc[df['bWendu'] - df['yWendu'] > 10, 'wendu_type'] = '温差大' df.loc[df['bWendu'] - df['yWendu'] <= 10, 'wendu_type'] = '温差小'
# 计数统计 df['wendu_type'].value_counts()