Difference/subtraction 两个关于数值变量的 DataFrame
Difference/subtraction of two DataFrames on numerical variables
我有一个基本问题,要在数字列上区分两个数据帧。其他列上的行相同。
df1 :
Name Sex CA PV Time
0 John M 5723 225 85
1 Andrew M 6678 193 41
2 Gloria F 8781 521 70
3 Paul M 9910 502 31
df2 :
Name Sex CA PV Time
0 John M 2082 35 60
1 Andrew M 4567 60 18
2 Gloria F 2676 486 52
3 Paul M 9814 360 11
所以,我想获得以下DataFrame,它只是CA、PV和时间的区别
df3 :
Name Sex CA PV Time
0 John M 3641 190 25
1 Andrew M 2111 133 23
2 Gloria F 6105 35 18
3 Paul M 96 142 20
如果您对此有任何想法?
谢谢
给你:
>>> df = pd.DataFrame({'angles': [0, 3, 4],
... 'degrees': [360, 180, 360]},
... index=['circle', 'triangle', 'rectangle'])
>>> df
angles degrees
circle 0 360
triangle 3 180
rectangle 4 360
>>> df2 = pd.DataFrame({'angles': [0, 1, 2],
... 'degrees': [160, 90, 60]},
... index=['circle', 'triangle', 'rectangle'])
>>> df2
angles degrees
circle 0 160
triangle 1 90
rectangle 2 60
>>> df.sub(df2)
angles degrees
circle 0 200
triangle 2 90
rectangle 2 300
您想使用 pandas.DataFrame.subtract 方法:
df3["CV", "PV", "Time"] = df1["CV", "PV", "Time"].subtract(df2["CV", "PV", "Time"])
df1.update(df1.select_dtypes('number') - df2.select_dtypes('number'),overwrite=True)
我有一个基本问题,要在数字列上区分两个数据帧。其他列上的行相同。
df1 :
Name Sex CA PV Time
0 John M 5723 225 85
1 Andrew M 6678 193 41
2 Gloria F 8781 521 70
3 Paul M 9910 502 31
df2 :
Name Sex CA PV Time
0 John M 2082 35 60
1 Andrew M 4567 60 18
2 Gloria F 2676 486 52
3 Paul M 9814 360 11
所以,我想获得以下DataFrame,它只是CA、PV和时间的区别 df3 :
Name Sex CA PV Time
0 John M 3641 190 25
1 Andrew M 2111 133 23
2 Gloria F 6105 35 18
3 Paul M 96 142 20
如果您对此有任何想法? 谢谢
给你:
>>> df = pd.DataFrame({'angles': [0, 3, 4],
... 'degrees': [360, 180, 360]},
... index=['circle', 'triangle', 'rectangle'])
>>> df
angles degrees
circle 0 360
triangle 3 180
rectangle 4 360
>>> df2 = pd.DataFrame({'angles': [0, 1, 2],
... 'degrees': [160, 90, 60]},
... index=['circle', 'triangle', 'rectangle'])
>>> df2
angles degrees
circle 0 160
triangle 1 90
rectangle 2 60
>>> df.sub(df2)
angles degrees
circle 0 200
triangle 2 90
rectangle 2 300
您想使用 pandas.DataFrame.subtract 方法:
df3["CV", "PV", "Time"] = df1["CV", "PV", "Time"].subtract(df2["CV", "PV", "Time"])
df1.update(df1.select_dtypes('number') - df2.select_dtypes('number'),overwrite=True)