Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 连接、合并或联接数据帧以获得新的数据帧_Python_Pandas_Dataframe_Merge_Concatenation - Fatal编程技术网

Python 连接、合并或联接数据帧以获得新的数据帧

Python 连接、合并或联接数据帧以获得新的数据帧,python,pandas,dataframe,merge,concatenation,Python,Pandas,Dataframe,Merge,Concatenation,我对python比较陌生,目前正在研究数据帧。假设我有两个不同列标题和大小的数据帧。(df1和df2)我希望将它们连接到一个新的数据帧中,同时将数据帧头转换为一个新行,如组合数据帧中所示。此外,我想将初始列标题名称转换为索引 list1 = [('A', ['1','2', '3']), ('B', ['4', '5','6']), ('C', ['7','8','9'])] df1 = pd.DataFrame.from_items(list1) 在新数据帧中,在df1

我对python比较陌生,目前正在研究数据帧。假设我有两个不同列标题和大小的数据帧。(df1df2)我希望将它们连接到一个新的数据帧中,同时将数据帧头转换为一个新行,如组合数据帧中所示。此外,我想将初始列标题名称转换为索引

list1 = [('A', ['1','2', '3']),
    ('B', ['4', '5','6']),
    ('C', ['7','8','9'])]

df1 = pd.DataFrame.from_items(list1)

在新数据帧中,在df1之后附加df2标题名的所需组合数据帧输出:

我在下面的代码中尝试过使用concatenate和merge,但由于它们指定了一个公共列,因此无法获得所需的格式

df_combined = pd.concat([df1,df2], axis = 0)


我在stackoverflow中尝试从以前的答案中寻找可能的解决方案,但没有类似的解决方案。有人吗?非常感谢

您可以通过
范围
将列名称转换为默认名称:

df1.columns = range(len(df1.columns))
df2.columns = range(len(df2.columns))
df_combined = pd.concat([df1,df2])
或:


工作完美。非常感谢!
df1.columns = range(len(df1.columns))
df2.columns = range(len(df2.columns))
df_combined = pd.concat([df1,df2])
map1 = dict(zip(df1.columns, range(len(df1.columns))))
map2 = dict(zip(df2.columns, range(len(df2.columns))))

df_combined = pd.concat([df1.rename(columns=map1),
                         df2.columns.to_frame().T.rename(columns=map2),
                         df2.rename(columns=map2)], ignore_index=True)
print (df_combined)
    0   1   2    3
0   1   4   7  NaN
1   2   5   8  NaN
2   3   6   9  NaN
3   W   X   Y    Z
4  W1  X1  Y1   Z1
5  W2  X2  Y2   Z2
6  W3  X3  Y3   Z3