格式化2D阵列中的Pandas数据帧



我遇到了一个问题,我正在获取一个2D数组,并希望将其转换为pandas数据帧。我将把这个数据框显示在excel电子表格中。

我创建了这样的数据帧:df = pd.DataFrame("twoDArray")。我正在转换为Dataframe的2D数组的长度为8,我使用以下代码命名了所有列,df.columns = ["column1", column2", "column3", "column4", "column5", "column6", "column7", "column8"]

嵌套数组非常长,并且不是总是相同的长度。我希望每个索引处的嵌套数组都是Dataframe上的一整列。所以一行将是lst[0][0], lst[1][0], lst[2][0]

示例

Pandas似乎默认这样做

lst = [["hello", 1],["World", 3], ["Goodbye" , 5]]
df = pd.DataFrame(lst)

output:    
column1   column2
1        hello           1
2        World           3
3        Goodbye         5

但我想要:

lst = [["hello", 1, 2], ["World", 3], ["Goodbye", 5,6,7,"test"]]
df = pd.DataFrame(lst)
output:
column1  column2 column3
1       hello    World  Goodbye
2           1        3        5
3           2        -        6
4           -        -        7
5           -        -     test

这样做可能吗?

谢谢你的帮助。

以下代码解决了您的问题:

lst = [["hello", 1, 2], ["World", 3], ["Goodbye", 5,6,7,"test"]]
df = pd.DataFrame(lst).T

因为.T表示转换数据帧,这正是您试图做的,所以列表不应该是行,而应该是列,剩下的值是NaN-

相关内容

最新更新