我想使用 2D numpy 数组创建一个新的单列 Pandas 数据框。显然,每一行都应该包含一维列表。以下是一个简化的可重现示例。
import pandas as pd
import numpy as np
arr = np.ones((4,3)) # could be any 2D array
我想要的是,
lists
0 [1, 1, 1]
1 [1, 1, 1]
2 [1, 1, 1]
3 [1, 1, 1]
现在,
df = pd.DataFrame(arr, columns=['lists'])
给出错误,ValueError: Shape of passed values is (4, 3), indices imply (4, 1)
和
df = pd.DataFrame(list(arr), columns=['lists'])
给出错误,ValueError: 1 columns passed, passed data had 3 columns
最后,
df = pd.DataFrame(arr.flatten(), columns=['lists'])
给出一个错误的数据帧,所有单元格都具有标量 1
.我怎样才能得到我想要的?
最佳答案
data = {"lists": list(arr)}
df = pd.DataFrame(data, columns=['lists'])
print(df)
输出:
lists
0 [1.0, 1.0, 1.0]
1 [1.0, 1.0, 1.0]
2 [1.0, 1.0, 1.0]
3 [1.0, 1.0, 1.0]
关于python - 包含使用 numpy 二维数组的一维列表的单列数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62072892/