我有一个非常大的字符串数字数据框,例如:
a,b,c
"1","2","3"
"4","5","6"
"7","8","9"
而且我想用
d
创建一个新列a + c
,所以最终结果将是:a,b,c,d
1,2,3,4
4,5,6,10
7,8,9,16
我仍在尝试仅将
a + 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)
如果数值之间也有一些字符串,则可以将问题值转换为
NaN
并求和:df = pd.read_csv(file)
df['d'] = pd.to_numeric(df['a'], errors='coerce') + pd.to_numeric(df['c'], errors='coerce')
关于python - 将DataFrame值转换为int,添加它们并使用结果创建新列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56196222/