繁体   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