微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将DataFrame值转换为int,添加它们并创建带有结果的新列?

我有一个非常大的字符串数字数据框,例如:

a,b,c
"1","2","3"
"4","5","6"
"7","8","9"

我想创建一个新列d并添加一个c,所以最终结果将是:

a,b,c,d
1,2,3,4
4,5,6,10
7,8,9,16

我仍在尝试仅将c的列转换为字符串,但是我不知道如何将它们加在一起并创建结果的新列.请帮助解决最后一个问题!

解决方法:

我认为read_csv将列转换为整数.

因此使用:

df = pd.read_csv(file)
df['d'] = df['a'] + df['c']

但是,如果失败,则尝试转换为整数或浮点数:

df = pd.read_csv(file)
df['d'] = df['a'].astype(int) + df['c'].astype(int)
#floats 
#df['d'] = df['a'].astype(float) + df['c'].astype(float)

如果数值之间也有一些字符串,则可以将问题值转换为NaNs并求和:

df = pd.read_csv(file)
df['d'] = pd.to_numeric(df['a'], errors='coerce') + pd.to_numeric(df['c'],  errors='coerce')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐