我遇到了一个问题,我正在获取一个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-