有两个数据框
数据框 1
`name hits1`
google 100
数据框 2
name hits2
google 80
我需要根据名称找到 hits1 和 hits 2 之间的区别,请提供任何建议。
输出应该是
name hits1 hits2 diff_hits
google. 100 80 20
答案 0 :(得分:1)
import pandas as pd
# Sample Data
dt1 = {'name':['google', 'xyz', 'abc'],'hits1':[100, 50, 10]}
dt2 = {'name':['def', 'xyz', 'google'],'hits2':[25, 75, 45]}
df1 = pd.DataFrame(dt1)
df1.set_index('name', drop=True, inplace=True)
df2 = pd.DataFrame(dt2)
df2.set_index('name', drop=True, inplace=True)
# Create a New df with the difference column added
df3 = df1.join(df2, how='outer').fillna(0)
df3['Diff'] = df3.apply(lambda row: abs(row['hits1'] - row['hits2']), axis=1)
开头:
hits1
name
google 100
xyz 50
abc 10
和
hits2
name
def 25
xyz 75
google 45
结果是:
hits1 hits2 Diff
name
abc 10.0 0.0 10.0
def 0.0 25.0 25.0
google 100.0 45.0 55.0
xyz 50.0 75.0 25.0