【发布时间】:2022-10-18 21:23:29
【问题描述】:
我有两个不同的 DataFrames 我想组合,但我无法得到我正在寻找的答案。下面给出了 MWE。
import numpy as np
import pandas as pd
index_tuple1 = [('car', 'green'), ('car', 'red'), ('boat', 'green')]
index1 = pd.MultiIndex.from_tuples(index_tuple1, names=['Vehicle', 'Color'])
data1 = np.array([[1,2], [3,4], [7,8]])
df1 = pd.DataFrame(data1, index=index1, columns=['2022-05-09', '2022-10-17'])
index_tuple2 = [('car', 'blue'), ('boat', 'blue')]
index2 = pd.MultiIndex.from_tuples(index_tuple2, names=['Vehicle', 'Color'])
data2 = np.array([[5,6], [9,0]])
df2 = pd.DataFrame(data2, index=index2, columns=['2022-05-09', '2022-10-17'])
print(df1)
print(df2)
Output:
2022-05-09 2022-10-17
Vehicle Color
car green 1 2
red 3 4
boat green 7 8
2022-05-09 2022-10-17
Vehicle Color
car blue 5 6
boat blue 9 0
我希望看到的输出如下所示。我已经尝试过 concat、merge 和 join,但是我得到一个用 NaN 填充的 DataFrame 或“ValueError:列重叠但没有指定后缀:Index(['2022-05-09', '2022-10-17']
2022-05-09 2022-10-17
Vehicle Color
car green 1 2
red 3 4
blue 5 6
boat green 7 8
blue 9 0
【问题讨论】:
标签: python pandas dataframe merge concatenation