如何用Python Pandas计算已导入CSV两列的差值并存储为新列/数组?
计算并存储Pandas两列差值的方法
嘿,这事儿其实挺简单的!Pandas的向量运算能让你轻松实现这个需求,下面给你几种常见的做法:
1. 在现有DataFrame中新增一列存储差值
这是最常用的方式,直接把差值作为新列添加到你已经导入的df1里:
import pandas as pd fields = ['TEST ONE', 'TEST TWO', 'TEST THREE'] df1 = pd.read_csv('List.csv', skipinitialspace=True, usecols=fields) # 计算TEST ONE和TEST TWO的差值,新增为TEST DIFF列 df1['TEST DIFF'] = df1['TEST ONE'] - df1['TEST TWO']
这样之后,你就能像访问其他列一样用df1['TEST DIFF']来获取差值数据了。
2. 存储为独立的Pandas Series
如果不想修改原DataFrame,只想把差值存成一个单独的Series对象:
# 直接计算得到独立的Series diff_series = df1['TEST ONE'] - df1['TEST TWO'] # 可以查看前几行结果 print(diff_series.head())
Series保留了原数据的索引,方便后续和其他数据关联使用。
3. 存储为NumPy数组
要是你需要把差值转换成NumPy数组(比如用于后续的数值计算),只需在Series基础上转换:
# 先得到Series,再转成数组 diff_array = (df1['TEST ONE'] - df1['TEST TWO']).to_numpy() # 查看数组前5个元素 print(diff_array[:5])
小提示
如果你的列里存在缺失值(NaN),差值结果也会是NaN。要是需要处理这种情况,可以用fillna()方法填充默认值,比如:
# 用0填充缺失的差值 df1['TEST DIFF'] = df1['TEST ONE'].sub(df1['TEST TWO']).fillna(0)
内容的提问来源于stack exchange,提问作者Arpit Sharma
相关产品推荐
相关产品推荐

