Python 将dataframe转换为包含索引、数据和列的列表列表
我有一个Python 将dataframe转换为包含索引、数据和列的列表列表,python,python-2.7,pandas,dataframe,Python,Python 2.7,Pandas,Dataframe,我有一个Pandasdataframe,我想将其转换为一个列表列表,其中每个子列表都是dataframe中的一行。我如何也包括索引值,以便以后可以使用ReportLab import pandas as pd df = pd.DataFrame(index=['Index 1', 'Index 2'], data=[[1,2],[3,4]], columns=['Column 1', 'Column 2']) list =
Pandas
dataframe,我想将其转换为一个列表列表,其中每个子列表都是dataframe中的一行。我如何也包括索引值,以便以后可以使用ReportLab
import pandas as pd
df = pd.DataFrame(index=['Index 1', 'Index 2'],
data=[[1,2],[3,4]],
columns=['Column 1', 'Column 2'])
list = [df.columns[:,].values.astype(str).tolist()] + df.values.tolist()
print list
输出:
[['Column 1', 'Column 2'], [1L, 2L], [3L, 4L]]
期望输出:
[['Column 1', 'Column 2'], ['Index 1', 1L, 2L], ['Index 2', 3L, 4L]]
在此行中添加一个列表:
list = [df.columns[:,].values.astype(str).tolist()] + [[index] + vals for index,value in zip(df.index.tolist(),df.values.tolist())]
另外,因为您在第一个项目中的列是item[colindex]=colindex处的列
,所以我可能会将:['Index 1',x1,y1]
更改为[x1,y1,'Index 1']
?我不知道索引
项的位置是否重要,但这似乎更有意义,以便列对齐?虽然我不知道您是如何使用数据的,所以可能不知道:)
编辑:
df.index.tolist()
优于df.index.values.tolist()
,我认为它只返回项目,因此您需要将[index]
初始化为列表,而不仅仅是索引
,这是可行的,但您实际上是在索引中键入,然后追加数字,如果我的索引是随机命名的东西呢?我还没意识到你在使用索引值!完全是我的错,编辑反映了这一点。它不是枚举,而是对df.index.values
和df.values
In [29]:
[df.columns.tolist()] + df.reset_index().values.tolist()
Out[29]:
[['Column 1', 'Column 2'], ['Index 1', 1L, 2L], ['Index 2', 3L, 4L]]