一次减去多列
subtract multiple columns at once
我有两个数据框:
df_1 = pd.DataFrame({'a' : [7,8, 2], 'b': [6, 6, 11], 'c': [4, 8, 6]})
df_1
和
df_2 = pd.DataFrame({'d' : [8, 4, 12], 'e': [16, 2, 1], 'f': [9, 3, 4]})
df_2
我的目标是这样的:
在某种程度上,'in one shot' 我可以多次减去每一列。
我正在尝试 for
循环,但我卡住了!
您可以将它们作为 numpy 数组进行减法(使用 .values
),然后将结果放入数据框中:
df_3 = pd.DataFrame(df_1.values - df_2.values, columns=list('xyz'))
# x y z
# 0 -1 -10 -5
# 1 4 4 5
# 2 -10 10 2
或者把df_1.columns
和df_2.columns
重命名为['x','y','z']
就可以直接减去:
df_1.columns = df_2.columns = list('xyz')
df_3 = df_1 - df_2
# x y z
# 0 -1 -10 -5
# 1 4 4 5
# 2 -10 10 2
我有两个数据框:
df_1 = pd.DataFrame({'a' : [7,8, 2], 'b': [6, 6, 11], 'c': [4, 8, 6]})
df_1
和
df_2 = pd.DataFrame({'d' : [8, 4, 12], 'e': [16, 2, 1], 'f': [9, 3, 4]})
df_2
我的目标是这样的:
在某种程度上,'in one shot' 我可以多次减去每一列。
我正在尝试 for
循环,但我卡住了!
您可以将它们作为 numpy 数组进行减法(使用 .values
),然后将结果放入数据框中:
df_3 = pd.DataFrame(df_1.values - df_2.values, columns=list('xyz'))
# x y z
# 0 -1 -10 -5
# 1 4 4 5
# 2 -10 10 2
或者把df_1.columns
和df_2.columns
重命名为['x','y','z']
就可以直接减去:
df_1.columns = df_2.columns = list('xyz')
df_3 = df_1 - df_2
# x y z
# 0 -1 -10 -5
# 1 4 4 5
# 2 -10 10 2