将标题列表和行列表转换为 pandas DataFrame
- 2025-02-28 08:23:00
- admin 原创
- 79
问题描述:
我正在将电子表格的内容读入 pandas。DataNitro 有一个方法,可以返回一个矩形单元格选择作为列表列表。所以
table = Cell("A1").table
给出
table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]
headers = table.pop(0) # gives the headers as list and leaves data
我正忙着写代码来翻译这个,但我猜想这是一个非常简单的用法,一定有方法可以做到这一点。似乎在文档中找不到它。有没有可以简化这个方法的指针?
解决方案 1:
直接调用pd.DataFrame
构造函数:
df = pd.DataFrame(table, columns=headers)
df
Heading1 Heading2
0 1 2
1 3 4
解决方案 2:
使用上面 EdChum 解释的方法,列表中的值显示为行。要将列表的值显示为 DataFrame 中的列,只需使用 transpose() 即可,如下所示:
table = [[1 , 2], [3, 4]]
df = pd.DataFrame(table)
df = df.transpose()
df.columns = ['Heading1', 'Heading2']
输出为:
Heading1 Heading2
0 1 3
1 2 4
解决方案 3:
即使没有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
解决方案 4:
从table
示例中,调用DataFrame
构造函数如下:
table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]
df = pd.DataFrame(table[1:], columns=table[0])
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD