Ati*_*ska 5 python numpy dataframe pandas
我有 2 个数组,如下所示,我想将它们转换为数据框列:
arr1 = np.array([2, 4, 6, 8])
arr2 = np.array([3, 6, 9, 12])
df_from_arr = pd.DataFrame(data=[arr1, arr2])
print(df_from_arr)
Run Code Online (Sandbox Code Playgroud)
实际输出:
0 1 2 3
0 2 4 6 8
1 3 6 9 12
Run Code Online (Sandbox Code Playgroud)
预期输出:
0 1
0 2 4
1 4 6
2 6 9
3 8 12
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到预期的输出?
最后加T
df_from_arr.T
Out[418]:
0 1
0 2 3
1 4 6
2 6 9
3 8 12
Run Code Online (Sandbox Code Playgroud)
或者修改你的输入数组
pd.DataFrame(np.hstack((arr1[:,None], arr2[:,None])))
Out[426]:
0 1
0 2 3
1 4 6
2 6 9
3 8 12
Run Code Online (Sandbox Code Playgroud)
您可以转置 DataFrame。
arr1 = np.array([2, 4, 6, 8])
arr2 = np.array([3, 6, 9, 12])
df_from_arr = pd.DataFrame(data=[arr1, arr2]).T
print(df_from_arr)
0 1
0 2 3
1 4 6
2 6 9
3 8 12
Run Code Online (Sandbox Code Playgroud)
小智 6
您还可以这样做:
arr1 = np.array([2, 4, 6, 8])
arr2 = np.array([3, 6, 9, 12])
df_from_arr = pd.DataFrame({0:arr1,1:arr2})
Run Code Online (Sandbox Code Playgroud)