Python 如何合并不共享一个公共索引的两个数据帧?
以下是第一个数据帧:Python 如何合并不共享一个公共索引的两个数据帧?,python,python-2.7,pandas,Python,Python 2.7,Pandas,以下是第一个数据帧: In: df.head() Out: avg_lmp avg_load read_year read_month trading_block 2017 3 0 24.606666 0.018033 1 32.090800 0.023
In: df.head()
Out:
avg_lmp avg_load
read_year read_month trading_block
2017 3 0 24.606666 0.018033
1 32.090800 0.023771
4 0 25.136200 0.017487
1 33.487529 0.023570
5 0 24.085170 0.018008
这是第二个数据帧,我想加入第一个基于月份的数据帧,即使它必须重复诸如read_year=2018和read_month=3这样的值。如果是2019年,读取月份是3,我希望它表示读取月份3的相同值
清楚我的要求吗?也许试试这个。只需在两列上合并一个外部。像全外
DataFrame1.mergeDataFrame2,左边是'read'u month',右边是'read'u month',how'outer'您似乎有共同的索引。设置它们,然后加入:
df = df.reset_index().set_index(['read_month', 'trading_block']).join(df2)
如果你愿意:
df.reset_index().set_index(['read year', 'read_month', 'trading_block'])
不确定这是否是你想要的:
index avg_lmp avg_load fpc
read_year read_month trading_block
2017 3 0 0 24.606666 0.018033 28.348427
1 1 32.090800 0.023771 35.900000
4 0 2 25.136200 0.017487 26.250870
1 3 33.487529 0.023570 34.150000
5 0 4 24.085170 0.018008 23.599388
不是100%清楚。如果你能举一个例子来说明你正在寻找的数据帧是什么样子的,那会很有帮助。你写的对吗?你在里面放了两个月。
index avg_lmp avg_load fpc
read_year read_month trading_block
2017 3 0 0 24.606666 0.018033 28.348427
1 1 32.090800 0.023771 35.900000
4 0 2 25.136200 0.017487 26.250870
1 3 33.487529 0.023570 34.150000
5 0 4 24.085170 0.018008 23.599388