Pandas怎样新增数据列

本文介绍了在Pandas中如何新增数据列。首先通过read_csv读取天气数据,并展示前5行。接着去除最低温度和最高温度的单位,然后利用str方法新增温差列。此外,还展示了如何使用apply函数添加温度类型列,根据最高温度判断为高温、低温或常温。
摘要由CSDN通过智能技术生成

1.直接赋值
用read_csv读取爬取下来的天气数据,
用jupyter代码演示
在这里插入图片描述
读取前5行数据
在这里插入图片描述
将最低温度和最高温度的单位去掉,
df.loc[:, "bWendu"] = df["bWendu"].str.replace("℃", "").astype('int32') df.loc[:, "yWendu"] = df["yWendu"].str.replace("℃", "").astype('int32')
展示前5行的数据
在这里插入图片描述
str方法只能用于Series数据类型,因此增加温差一列温差:df.loc[:,"温差”] = df["bwendu"]-df["ywendu"] 查看数据在这里插入图片描述
2.应用apply函数
apply表示沿数据帧的轴应用函数。具体应用如下
比如添加一列温度类型:
如果最高温度大于33度就是高温
低于-10度是低温
否则是常温

```python
def acquire_wendu_type(x):
    if x["bWendu"] > 33:
        return '高温'
    if x["yWendu"] < -10:
        return '低温'
    return '常温'


df.loc[:, "wendu_type"] = df.apply(acquire_wendu_type, axis=1)

查看数据在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 pandas新增,可以使用 `df['new_column_name'] = new_column_values` 的方式,其中 `df` 是数据框的名称,`new_column_name` 是新的名称,`new_column_values` 是新的值。例如,如果想在数据框 `df` 中新增 `'col_name'`,并为这一赋值为 `[1, 2, 3]`,可以这样写: ``` df['col_name'] = [1, 2, 3] ``` 如果想要给新增赋上更复杂的值,可以使用计算或其他方式。例如,如果想要新增 `'col_name_2'`,并为这一赋值为原来的某一的数值的平方,可以这样写: ``` df['col_name_2'] = df['original_column'] ** 2 ``` 请注意,这里假设 `'original_column'` 是原来数据框中已经存在的一。 ### 回答2: 在pandas中,我们可以使用`[]`操作符来新增。首先,我们需要创建一个pandas的DataFrame对象,可以从文件或者其他数据源中读取数据,或者手动创建一个空的DataFrame对象。 接下来,我们可以使用`[]`操作符来指定新增名,并赋予该一个Series对象的值。可以使用已存在的或者其他计算结果来创建新的值。 举个例子,假设我们有一个包含学生信息的DataFrame,包括学生的姓名、年龄和成绩。我们想要新增来表示学生是否及格,即成绩大于等于60分为及格。可以通过以下代码来新增: ```python import pandas as pd # 创建一个包含学生信息的DataFrame data = {'姓名': ['张三', '李四', '王五', '赵六'], '年龄': [18, 19, 20, 21], '成绩': [75, 80, 58, 90]} df = pd.DataFrame(data) # 新增来表示学生是否及格 df['是否及格'] = df['成绩'] >= 60 print(df) ``` 运行以上代码后,DataFrame会新增来表示学生是否及格。输出结果如下: ``` 姓名 年龄 成绩 是否及格 0 张三 18 75 True 1 李四 19 80 True 2 王五 20 58 False 3 赵六 21 90 True ``` 可以看到,新增的一名为"是否及格",其值为布尔型,表示学生是否及格。 ### 回答3: 在Pandas中,我们可以使用assign()函数来新增。assign()函数接受一个参数,用于指定新的名称,并且可以使用已有的进行计算生成新。 例如,假设我们有一个名为df的DataFrame,其中包含了两数据,分别是"age"和"gender"。现在我们想新增"age_group",根据"age"的值来划分为三个年龄组:"青年"、"中年"和"老年"。 首先,我们可以使用assign()函数来创建新"age_group",像这样: df = df.assign(age_group="") 这样就创建了一个名为"age_group"的空。 接下来,我们可以使用apply()函数来计算"age_group"的值。apply()函数可以接受一个函数作为参数,该函数将应用于每一行数据,然后生成一个返回值。我们可以定义一个函数,根据"age"的值来判断所属的年龄组,并将其赋值给"age_group"。 例如,我们可以这样定义一个函数: def get_age_group(age): if age < 30: return "青年" elif age < 60: return "中年" else: return "老年" 然后,我们可以将这个函数应用于"age",生成"age_group"的值: df["age_group"] = df["age"].apply(get_age_group) 最后,我们可以查看DataFrame的结果: print(df) 这样就成功地在Pandas新增了一"age_group",并根据"age"的值进行了划分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值