Pandas如何新增数据列的四种方法_4

"""
pandas如何新增数据列
1.直接赋值
2.df.apply方法
3.df.assign方法
4.按条件选择分组分别赋值
"""
import pandas as pd
import numpy as np

# 导入csv
path = './test.csv'
df = pd.read_csv(path)

# 1.直接赋值
# 先修改温度值,去掉C并改为整数
df.loc[:,'bWendu'] = df['bWendu'].astype(str).str.replace('C','').astype('int32')
df.loc[:,'yWendu'] = df['yWendu'].astype(str).str.replace('C','').astype('int32')

# 新增温差列
df[:,'wencha'] = df['bWendu'] - df['yWendu']

# 2.df.apply方法
# 首先定义一个函数
def get_wendu_type(x):
    if x['bWendu'] > 33:
        return '高温'
    elif x['bWendu'] < -10:
        return '低温'
    else:
        return '常温'


df.loc[:,'wendu_type'] = df.apply(get_wendu_type,axis=1)  # 注意这里要设置axis=1,这里是series的index或者column,而且axis=1就是列
# 查看温度类型的计数
wendu_type = df['wendu_type'].value_counts()

# 3.df.assign方法
# 可以同时添加多个新的列
df.assign(
    bWendu_huashi = lambda x : x['bWendu'] * 9 / 5 + 3.2,
    yWendu_huashi = lambda x : x['yWendu'] * 9 / 5 +3.2
)  # 不会修改df本身,返回的是一个新的对象

# 4.按照条件选择分组,分别赋值(就是说按照条件先选择数据,然后将这批数据赋值给新列)

# 首先创建空列(这是第一种创建新列的方法)
df['wendu_type'] = ''
df.loc[df['bWendu']-df['yWendu']>10,'wendu_type'] = '温差大'
df.loc[df['bWendu']-df['yWendu']<=10,'wendu_type'] = '温差小'

count_1 = df['bWendu'].value_counts()





  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值