python - Python pandas 两个数据框
问题描述
我有两个数据框,其中一个为 15 人 50 年,即 15 行 x 51 列。另一个有两列年龄和一个变量d。我想要第三个数据帧,它为第一个数据帧中的每个年龄提供 d 值,即它将像第一个 df 一样有 15 行和 51 列。我该怎么办?
解决方案
您的数据的迷你示例:
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_to_var_dict = dict(zip(df2.age, df2.var_d))
现在让我们遍历 df1 年龄值并将它们转换为 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']
推荐阅读
- php - Symfony 3.4、composer post-install-cmd 和 env() 参数为默认值
- laravel - Summernote 不适用于 laravel 表单
- enums - 带有枚举的机器人构建器表单流
- reactjs - Semantic-UI React 中的侧边栏 + 固定顶部菜单
- powershell - Azure 应用程序网关重定向配置
- reactjs - react-navigation redux dispatch is not a function 错误
- ios - 如何将图像保存在文档目录中并在 Swift 中获取
- maven - 无法访问 pom 属性中的 parsedVersion 值
- haskell - 流式传输字节串作为 WAI HTTP 服务器响应正文
- python - 从sql返回的元组不能转换为int