簡體   English   中英

Python pandas 兩個數據幀

[英]Python pandas two data frames

我有兩個數據框,一個是 15 人 50 年的年齡,即 15 行 x 51 列。 另一個有兩列 age 和一個變量 d。 我想要第三個數據框,它為第一個數據框中的每個年齡提供 d 值,即它將有 15 行和 51 列,就像第一個 df 一樣。 我應該如何 go 關於這個?

您的數據的迷你示例:

data = {'person': ['a','b','c'],'age1':[10,11,12],'age2':[11,12,13]}
df1 = pd.DataFrame(data)
data = {'var_d': ['a1','a2','a3','a4','a5'],'age':[10,11,12,13,14]}
df2 = pd.DataFrame(data)

數據框示例:

讓我們從 df2 創建字典,將 var_d 值轉換為 age 值:

age_to_var_dict = dict(zip(df2.age, df2.var_d))

age_to_var_d 字典

現在讓我們迭代 df1 age 值並將它們轉換為 var_d 值:

df3 = df1.copy(deep=True)
def convert_age_to_var_d(col):
    result = []
    for i,val in enumerate(col):
        result.append(age_to_var_dict[val])
    return result
df3.iloc[:,1:] = df1.iloc[:,1:].apply(convert_age_to_var_d)
# rename age columns to var_d
df3.columns = ['person','var_d1','var_d2']

我們得到了每個年齡段的人 var_d 的 df3: df3 每個年齡列的 var_d 值

暫無
暫無

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

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