将列表列表转换为python中的数据帧

时间:2017-10-09 13:57:44

标签: python

我有以下列表:

sample  location    date    spiceis sp.ab
1   001 9/10/2017   sp1 2
1   001 9/10/2017   sp2 5
1   001 9/10/2017   sp3 10
1   001 9/10/2017   sp4 2
2   002 9/11/2017   sp1 0
2   002 9/11/2017   sp2 2
2   002 9/11/2017   sp3 5
2   002 9/11/2017   sp4 5
3   003 9/12/2017   sp1 2
3   003 9/12/2017   sp2 1
3   003 9/12/2017   sp3 1
3   003 9/12/2017   sp4 0
4   004 9/13/2017   sp1 7
4   004 9/13/2017   sp2 4
4   004 9/13/2017   sp3 2
4   004 9/13/2017   sp4 9

我想返回一个如下所示的数据框。任何人都可以帮我这个吗?

sample  location    date    sp1 sp2 sp3 sp4
1   001 9/10/2017   2   5   10  2
2   002 9/11/2017   0   2   5   5
3   003 9/12/2017   2   1   1   0
4   004 9/13/2017   7   4   2   9

1 个答案:

答案 0 :(得分:1)

假设每一行都是一个列表,而数据帧是指Pandas数据帧,那么您可以使用列表推导将列表列表转换为元组列表:

listoftuples = [tuple(l) for l in listoflists]

然后使用from_records函数:

import pandas as pd
df = pd.DataFrame.from_records(listoftuples,columns=['sample','location','date','spiceis','sp.ab'])