如何強制合併或加入後綴。我知道有可能提供一個,如果有碰撞,但在我的情況下,我正在合併df1與df2,這不會導致任何碰撞,但然後在使用後綴的df2上再次合併,但我希望每個合併都有一個後綴,因爲如果我按照您的想象做不同的組合,會變得混亂。熊貓加入DataFrame強制後綴?
12
A
回答
15
你可能會迫使後綴實際數據框:
In [11]: df_a = pd.DataFrame([[1], [2]], columns=['A'])
In [12]: df_b = pd.DataFrame([[3], [4]], columns=['B'])
In [13]: df_a.join(df_b)
Out[13]:
A B
0 1 3
1 2 4
通過追加到它的列的名稱:
In [14]: df_a.columns = df_a.columns.map(lambda x: str(x) + '_a')
In [15]: df_a
Out[15]:
A_a
0 1
1 2
現在加入將不需要後綴修正,他們是否碰撞與否:
In [16]: df_b.columns = df_b.columns.map(lambda x: str(x) + '_b')
In [17]: df_a.join(df_b)
Out[17]:
A_a B_b
0 1 3
1 2 4
0
熊貓合併將給新的列後綴,當已經有一列後綴相同的名稱,當我需要用後綴強制新列時,我創建一個空列與我想要加入的列的名稱。
df["colName"] = "" #create empty column
df.merge(right = "df1", suffixes = ("_a","_b"))
您可以稍後刪除空列。
你可以爲多個列做同樣的,或在df.columns.values每列
0
這是我一直使用到pandas.merge
2 DataFrames和部隊後面添加什麼:
def merge_force_suffix(left, right, **kwargs):
on_col = kwargs['on']
suffix_tupple = kwargs['suffixes']
def suffix_col(col, suffix):
if col != on_col:
return str(col) + suffix
else:
return col
left_suffixed = left.rename(columns=lambda x: suffix_col(x, suffix_tupple[0]))
right_suffixed = right.rename(columns=lambda x: suffix_col(x, suffix_tupple[1]))
del kwargs['suffixes']
return pd.merge(left_suffixed, right_suffixed, **kwargs)
相關問題
- 1. 熊貓dataframe groupby和加入列
- 2. 熊貓DataFrame Seaborn
- 3. 熊貓:DataFrame中的DataFrame
- 4. 熊貓Dataframe - RemoteDataError - Python
- 5. Pickle dump熊貓DataFrame
- 6. 重建熊貓DataFrame
- 7. 熊貓DataFrame性能
- 8. 熊貓DataFrame應用
- 9. scipy pdist()熊貓DataFrame
- 10. 熊貓DataFrame reset_index列?
- 11. 熊貓DataFrame格式
- 12. 熊貓 - 刪除DataFrame的最後一列
- 13. 熊貓dataframe:如何繪製燭臺
- 14. 熊貓複製一行填充DataFrame
- 15. 從DataFrame寫入csv python熊貓
- 16. 將非DataFrame追加到熊貓csv
- 17. 熊貓dataFrame append並添加新列
- 18. 將尺寸添加到熊貓DataFrame
- 19. 累積和熊貓DataFrame與指標DataFrame
- 20. 熊貓DataFrame列連接
- 21. 重塑熊貓dataframe stack/unstack
- 22. 修改dataframe行 - 熊貓Python
- 23. 熊貓DataFrame:查詢變量
- 24. 用熊貓分割DataFrame行
- 25. 熊貓dataframe groupby兩列
- 26. 單元測試熊貓DataFrame
- 27. 'CSV不存在' - 熊貓DataFrame
- 28. 熊貓DataFrame應用效率
- 29. 從字典到熊貓dataframe
- 30. 熊貓Dataframe groupby顯示
爲什麼不只是將df1和df2連接在一起,而是重命名df2中的衝突列,以便您可以確定原始數據的來源? – EdChum