Pandas学习之路【3】

发布时间 2023-12-02 22:49:35作者: 映辉

新增列的一些操作

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()