如何将元组的元组转换为Python中的pandas.DataFrame?
问题描述:
没有违法,如果问题太简单。如果您需要更多信息,请与我们联系。如何将元组的元组转换为Python中的pandas.DataFrame?
我找一个想法转换的元组方形式的元组在清洁/高效/ Python的方式来pandas.DataFrame, 即从
s =((1,0,0,0,),(2,3,0,0,),(4,5,6,0,),(7,8,9,10,))
到pandas.DataFrame
像
1 2 3 4
1 1 0 0 0
2 2 3 0 0
3 4 5 6 0
4 7 8 9 10
当然,这个列表可以随着在上三角形中附加更多的零而增长(如果我们将s看作行的元组)。
DataFrame(t)
似乎失败。
答
import pandas as pd
s = ((1,0,0,0,),(2,3,0,0,),(4,5,6,0,),(7,8,9,10,))
print pd.DataFrame(list(s))
# 0 1 2 3
# 0 1 0 0 0
# 1 2 3 0 0
# 2 4 5 6 0
# 3 7 8 9 10
print pd.DataFrame(list(s), columns=[1,2,3,4], index=[1,2,3,4])
# 1 2 3 4
# 1 1 0 0 0
# 2 2 3 0 0
# 3 4 5 6 0
# 4 7 8 9 10
答
传递元组的列表代替的元组的元组:
In [13]: pd.DataFrame(list(s))
Out[13]:
0 1 2 3
0 1 0 0 0
1 2 3 0 0
2 4 5 6 0
3 7 8 9 10
pd.DataFrame(data)
如下不同的代码路径时data
是相对于列表的元组。
熊猫开发商Jeff Reback explains:
列表的元组是指定的类型,-的元组元组是不允许的,因为我觉得它可以表示嵌套类型,将需要更多的分析。
我有这样的:'pd.DataFrame(json.loads(json.dumps(S)))'但你更干净 – skulz00