想要把一个dataframe里的两行数据合并成一个列表,我们首先可以想到使用append函数:
首先构建一个10*2的dataframe:
array = np.arange(20).reshape(10,2)
df = pd.DataFrame(array)
print(df)
打印如下:
0 1
0 0 1
1 2 3
2 4 5
3 6 7
4 8 9
5 10 11
6 12 13
7 14 15
8 16 17
9 18 19
使用append函数后,打印的结果:
list = df[0].append(df[1])
print(list)
0 0
1 2
2 4
3 6
4 8
5 10
6 12
7 14
8 16
9 18
0 1
1 3
2 5
3 7
4 9
5 11
6 13
7 15
8 17
9 19
dtype: int32
Process finished with exit code 0
发现列表还是会带有dataframe的属性,当输入期待的编号时,会同时唤醒两个数据:
print(list[2])
2 4
2 5
解决办法:
df_array = list.values.flatten()
print(type(df_array))
print(df_array)
print(df_array[2])
[ 0 2 4 6 8 10 12 14 16 18 1 3 5 7 9 11 13 15 17 19]
4