簡體   English   中英

基於列和行值組合兩個熊貓數據框

[英]Combining two pandas dataframes based on column AND row VALUES

首先,我之前沒有發現這個問題 - 可能是因為我沒有使用正確的詞來問它。 所以如果有人問過,請把我送到那個方向。

如何基於列和行組合兩個熊貓數據框。 我的主要數據框有一個“年”列和一個“縣”列。 理想情況下,我想從下面的第二個數據框中添加另一列“百分比”。

例如,我有我的第一個 df 的這張圖片:

主文件

並且我有另一個具有相同“年份”列的數據框,並且每個其他列名稱都是原始“主”數據框的“縣”列中的字符串值:

第二個 df

如何以將另一列添加到“主 df”的方式組合這兩個數據框? 首先將第二個數據框的格式設置為三列:“年份”、“縣”和“百分比”會很有幫助。 如果有人可以幫助我完成這部分,我可以合並它。

我認為您要做的是將第二個數據框轉換為每個年份/縣組合的行,然后您可以使用左連接將兩者結合起來。 我相信 ```melt`` 方法會進行這種轉換。 嘗試這個:

melted_second_df = second_df.melt(id_vars=["year"], var_name="county", value_name="percent")
combined_df = first_df.merge(
    right=melted_second_df,
    on=["year", "county"],
    how="left"
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM