python - 将 DataFrame 连接到多索引 df 保持原始多索引
问题描述
我有来自预算财务项目的 2 个数据框,其中一个 df 是记录的支出;
Food Clothes Bills Social Travel Art Other Daily Total
Week End Today's Date
2020-09-27 2020-09-21 25 25 25 25 25 25 25 175
2020-09-23 20 20 20 20 20 20 20 140
2020-09-24 12 12 12 12 12 12 12 84
2020-09-25 20 20 20 20 20 20 20 140
和每周总数之一;
Food Clothes Bills Social Travel Art Other Daily Total
0 77 77 77 77 77 77 77 539
我想连接它们,同时保持原来的多索引看起来像这样;
Food Clothes Bills Social Travel Art Other Daily Total
Week End Today's Date
2020-09-27 2020-09-21 25 25 25 25 25 25 25 175
2020-09-23 20 20 20 20 20 20 20 140
2020-09-24 12 12 12 12 12 12 12 84
2020-09-25 20 20 20 20 20 20 20 140
0 77 77 77 77 77 77 77 539
如果我执行基本的 concat 函数,则多索引会变成一堆元组,例如;
Food Clothes Bills Social
(2020-09-27 00:00:00, 2020-09-21 00:00:00) 25 25 25 25
etc.
有任何想法吗??对熊猫和一般编码来说相当新,所以任何帮助都将不胜感激。
解决方案
我更改了列标题以使它们更易于使用。周末 = Week_End 今天的日期 = Todays_Date Daily_Total
你可以只追加行
df2 包含您的每周总计
#set an index to match your recorded spending df
df2['Week_End'] = '2020-09-27'
df2['Todays_Date'] = '0'
df2.set_index(['Week_End', 'Todays_Date'], inplace=True)
#append df2 to df
df = df.append(df2)
结果是:
Food Clothes Bills Social Travel Art Other Daily_Total
Week_End Todays_Date
2020-09-27 2020-09-21 25 25 25 25 25 25 25 175
2020-09-23 20 20 20 20 20 20 20 140
2020-09-24 12 12 12 12 12 12 12 84
2020-09-25 20 20 20 20 20 20 20 140
0 77 77 77 77 77 77 77 539
推荐阅读
- python - 如何旋转行的唯一值并标记其出现?
- python - 如何将 JSON MySQL 列查询到字典中?
- javascript - 使用 webNavigation.onCommitted 将脚本注入网页
- r - data.table 问题:如何不覆盖原始数据框
- python-requests - 在 Python 中调用 AWS API 网关时出现 403 禁止错误
- sql - 从列返回第一个非空结果
- python - 为什么在一个大矩阵 $M$ 上的 NumPy 减法比将 $M$ 分成更小的矩阵然后减法时要慢?
- ionic-framework - 自定义 ngx-translate 加载器,接收无法设置未定义的属性“http”
- python - 如果我们已经有它的实例,如何优化相关对象的延迟加载?
- python - 使用特定列中的数据的某些条件删除数据框中的重复行