繁体   English   中英

Python 列表到 pandas DataFrame

[英]Python list of lists to pandas DataFrame

I have this sample code below that turns a Python list of lists into a pandas DataFrame, but I need to DataFrame orientation to be inversed, any idea how to achieve this?

import numpy as np
import pandas as pd
from IPython.display import display, HTML

i = np.zeros(10)
i.fill(40)

j = np.zeros(10)
j.fill(60)

df = pd.DataFrame([i, j])

display(df)

这个的output是这样的结构:

0 1 2 3 4 5 6 7 8 9
0 40 40 40 40 40 40 40 40 40 40
1 60 60 60 60 60 60 60 60 60 60

但是,我想要的是获得这样的结构,我怎样才能将列表列表转换为这种格式?

0 1
40 60
40 60
40 60
40 60
40 60
40 60
40 60
40 60
40 60

只需转置 dataframe:

df = df.T

或首先以您想要的方式准备您的df:

df = pd.DataFrame({0: i, 1: j})

output:

>>
      0     1
0  40.0  60.0
1  40.0  60.0
2  40.0  60.0
3  40.0  60.0
4  40.0  60.0
5  40.0  60.0
6  40.0  60.0
7  40.0  60.0
8  40.0  60.0
9  40.0  60.0

建议尝试

df.transpose()

为目的。

让我们尝试直接创建一个两列 dataframe

df = pd.DataFrame(zip(i, j))
# or specify the column header
df = pd.DataFrame(zip(i, j), columns=['a', 'b'])
print(df)

      0     1
0  40.0  60.0
1  40.0  60.0
2  40.0  60.0
3  40.0  60.0
4  40.0  60.0
5  40.0  60.0
6  40.0  60.0
7  40.0  60.0
8  40.0  60.0
9  40.0  60.0

如果您想在创建 dataframe 之前更正此问题,您可以使用numpy.column_stack然后创建 dataframe。

inp_arr = np.column_stack((i,j))
df = pd.DataFrame(inp_arr)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM