aus*_*acy 2 python data-analysis dataframe pandas
是否有库函数或正确的方法将两个 Pandas 数据框列堆叠在一起?
例如将 4 列变成 2 列:
a1 b1 a2 b2
1 2 3 4
5 6 7 8
Run Code Online (Sandbox Code Playgroud)
到
c d
1 2
5 6
3 4
7 8
Run Code Online (Sandbox Code Playgroud)
我阅读的大部分 Pandas Data Frames 文档只处理连接行和进行行操作,但我确信必须有一种方法来执行我所描述的操作,而且我确信它非常简单。
任何帮助都会很棒。
您可以使用 选择前两列和后两列pandas.DataFrame.iloc。然后,将两个部分的列名称更改为c和d。之后,您可以使用 加入他们pandas.concat。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(1, 9).reshape((2, 4)),
columns=["a1", "b1", "a2", "b2"])
part1 = df.iloc[:,0:2]
part2 = df.iloc[:,2:4]
new_columns = ["c", "d"]
part1.columns = new_columns
part2.columns = new_columns
print pd.concat([part1, part2], ignore_index=True)
Run Code Online (Sandbox Code Playgroud)
这给你:
c d
0 1 2
1 5 6
2 3 4
3 7 8
Run Code Online (Sandbox Code Playgroud)