在python中将列表列表转换为数据帧
我有以下清单:在python中将列表列表转换为数据帧,python,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
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
假设每一行都是一个列表,您所说的数据帧是指数据帧,那么您可以使用列表理解将列表列表转换为元组列表:
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'])
我现在发现我的数据不是一个列表;这是一个数据帧。当我应用代码时,出现了一个错误:AssertionError:传递了5列,传递的数据有8列您有修改过的代码吗?非常感谢。啊,我想我误解了你的问题。看起来你应该使用pivot_表,这是我现在的链接工作。多谢各位。