Pandas怎么添加数据列&删除列

Pandas怎么添加数据列

1、直接赋值
# 1、直接赋值
    df.loc[:, "最高气温"] = df["最高气温"].str.replace("℃", "").astype("int32")
    df.loc[:, "最低气温"] = df["最低气温"].str.replace("℃", "").astype("int32")
    df.loc[:, "温差"] = df["最高气温"] - df["最低气温"]

在这里插入图片描述

2、df.apply方法

写一个判断

# df.apply
def get_wendu_type(x):
    if x["最高气温"] > 20:
        return "高温"
    if x["最低气温"] < 0:
        return "低温"
    return "常温"


df.loc[:, "气温类型"] = df.apply(get_wendu_type, axis=1)
print(df.tail())

在这里插入图片描述

有趣且有用的方法
print(df["气温类型"].value_counts())

在这里插入图片描述

3、df.assign方法

lambda函数:

python 使用 lambda 来创建匿名函数。

  • lambda只是一个表达式,函数体比def简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

语法如下:

lambda [arg1 [,arg2,.....argn]]:expression
# df.assign方法
# 可以同时添加多个新的列
# 是返回一个新的dataFrame
df = df.assign(
    MaxWendu_huashi=lambda y: y["最高气温"] * 9 / 5 + 32,
    # 摄氏度转华氏度
    MinWendu_huashi=lambda y: y["最低气温"] * 9 / 5 + 32
)
print(df.tail())

在这里插入图片描述

4、按条件选择分组分别赋值
# 按条件选择分组分别赋值
# 先创建空列
df["wencha_type"] = ''
df.loc[df['最高气温'] - df['最低气温'] > 10, "wencha_type"] = "温差较大"
df.loc[df['最高气温'] - df['最低气温'] <= 10, "wencha_type"] = "温差正常"
print(df.tail())

Z

删除列

1、del df[] 改变原始数据
del df['MaxWendu_huashi']
2、df.drop(‘columns’,axis=1)

不改变原始数据,只是返回删除后的数据

3、df.drop(‘columns’,axis=1,inplace=‘True’)
df.drop('MinWendu_huashi', axis=1, inplace=True)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值