![](/img/trans.png)
[英]How to extract the certaine data and its file name from multiple excels to .txt format with python
[英]How to get additional and missed data from 2 excels using Python
我有2个excel csv文件,如下所示
df1 = {'Transaction_Name':['SC-001_Homepage', 'SC-002_Homepage', 'SC-001_Signinlink'], 'Count': [1, 1, 2]}
df1 = pd.DataFrame(df1, columns=df1.keys())
df2 = {'Transaction_Name':['SC-002_Homepage', 'SC-001_Signinlink', 'SC-002_Signinlink'], 'Count': [1, 2, 1]}
df2 = pd.DataFrame(df2, columns=df2.keys())
我想比较这两个数据,可以通过以下方式完成...
df_compare = df1.merge(df2, on='Transaction_Name', suffixes=('_df1','_df2'))
df_compare[['Count_df1','Count_df2']] = df_compare[['Count_df1','Count_df2']].astype(float).astype(int)
print (df_compare)
但是在df1中存在SC-001_Homepage,而在df2中则不存在。 使用上面的代码,我没有得到SC-001_Homepage的结果。 df2中也有SC-002_Signinlink,在df1中不可用。 结果中也缺少此值。 有人可以帮助我如何将这些交易包括在结果中吗?
预期结果应该像...
Transaction_Name Count_df1 Count_df2
0 SC-001_Homepage 1 0
1 SC-002_Homepage 1 1
2 SC-001_Signinlink 2 2
3 SC-002_Signinlink 0 1
采用:
df1.merge(df2,on=['Transaction_Name'],how='outer',suffixes=('_df1','_df2')).fillna(0)
Transaction_Name Count_df1 Count_df2
0 SC-001_Homepage 1.0 0.0
1 SC-002_Homepage 1.0 1.0
2 SC-001_Signinlink 2.0 2.0
3 SC-002_Signinlink 0.0 1.0
如果要将float转换为int,请使用:
df_new[df_new.select_dtypes(['float']).columns]= df_new.select_dtypes(['float']).astype(int)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.