Python 将数据帧值转换为int,添加它们并使用结果创建新列?
我有一个非常大的字符串数字数据框,例如:Python 将数据帧值转换为int,添加它们并使用结果创建新列?,python,pandas,Python,Pandas,我有一个非常大的字符串数字数据框,例如: 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\u csv将列转换为整数 因此,请使用: df = pd.read_csv(file) df['d'] = df['a'] +
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\u 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
s和sum:
df = pd.read_csv(file)
df['d'] = pd.to_numeric(df['a'], errors='coerce') + pd.to_numeric(df['c'], errors='coerce')
这很漂亮,非常感谢!如果我想使用另一个值来处理数据,该怎么办?比如说,如果我希望D列是A列乘以5的值。@JorgeGill然后使用
df['D']=(df['A']+df['c'])*5
或df['D']=df['A']+df['c']*5
-如果需要按和或按列进行倍数b