python - 使用 python pandas 多索引数据框按名称附加
问题描述
我正在尝试在循环中附加一个熊猫多索引数据框。
我的多索引数据框看起来有点像这样(我们称之为 df1):
method (TestAa, TestAb)
properties level l r
0 0.0 144.6 161.4
1 0.1 146.3 161.4
2 0.2 148.0 161.4
3 0.3 149.7 161.4
4 0.4 151.3 161.4
现在我想向它附加另一个数据帧(df2),以便附加的数据帧按名称“方法”(顺便说一句是一个字符串元组)排序。在我看来,它应该是这样的:
method (TestAa, TestAb) / (TestBa, TestBb)
properties level l r / level l r
0 0.0 144.6 161.4 / 0.0 150.6 161.4
1 0.1 146.3 161.4 / 0.1 151.3 161.4
2 0.2 148.0 161.4 / 0.2 152.0 161.4
3 0.3 149.7 161.4 / 0.3 153.7 161.4
4 0.4 151.3 161.4 / 0.4 155.3 161.4
换句话说,我想向现有数据框添加另一列。
现在我正在按照文档中的描述创建 df :
method = tuple([TestAa, TestAb])
columns = [[method]*3,["level", "l", "r"]]
tuples = list(zip(*columns))
index = pd.MultiIndex.from_tuples(tuples, names=['method', 'properties'])
df1= pd.DataFrame(columns=index, data=data, dtype=np.float)
先感谢您!
解决方案
我相信只需要concat
:
df = pd.concat([df1, df2], axis=1)
推荐阅读
- firebase - 尝试在 Flutter 中实例化 Firebase RemoteConfig 时出现问题
- python - 使用 Google Chrome 在 Python 上使用 Selenium 进行网页抓取
- python - 使用 BeuatifulSoup 提取除其他标签外的 div 标签内容
- r - 在并行循环中将变量分配给全局环境
- c# - 如何在 Entity Framework Core 中使用另一个对象更新子列表
- javascript - 使用 updateProfile() 函数时如何检查邮件是否已存在于数据库中
- java - java微服务中如何转义,转义字符('\')反斜杠
- c - TUN 接口是否支持 recvmmsg/sendmmsg 在单个系统调用中接收/发送多条消息
- pandas - 在 pandas DataFrame 的每个组中应用 kmeans 并将集群保存在同一 DataFrame 的新列中
- azure - 我可以使用 Azure 身份验证通过 REST API 访问用户消费数据吗