问题:将列表列表导入Pandas DataFrame
我正在将电子表格的内容读入熊猫。DataNitro具有一种返回矩形单元格选择作为列表列表的方法。所以
table = Cell("A1").table
给
table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]
headers = table.pop(0) # gives the headers as list and leaves data
我正忙着编写代码来翻译此内容,但我猜想它是如此简单,因此必须有方法可以做到这一点。无法在文档中找到它。任何可以简化此方法的指针?
回答 0
pd.DataFrame
直接调用构造函数:
df = pd.DataFrame(table, columns=headers)
df
Heading1 Heading2
0 1 2
1 3 4
回答 1
使用上面EdChum解释的方法,列表中的值显示为行。要在DataFrame中将列表的值显示为列,只需使用transpose()如下:
table = [[1 , 2], [3, 4]]
df = DataFrame(table)
df = df.transpose()
df.columns = ['Heading1', 'Heading2']
输出为:
Heading1 Heading2
0 1 3
1 2 4
回答 2
即使没有pop
列表,我们也可以set_index
pd.DataFrame(table).T.set_index(0).T
Out[11]:
0 Heading1 Heading2
1 1 2
2 3 4
更新资料 from_records
table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]
pd.DataFrame.from_records(table[1:],columns=table[0])
Out[58]:
Heading1 Heading2
0 1 2
1 3 4