Skip to main content
 首页 » 编程设计

python之列出 Pandas 数据框之Python

2025年05月04日19cyq1162

我有以下列表:

list = [-0.14626096918979603, 
 0.017925919395027533, 
 0.41265398151061766] 

我使用以下代码创建了一个 pandas dataframe:

df = pd.DataFrame(list, index=['var1','var2','var3'], columns=['Col1']) 
df 
               Col1 
var1         -0.146261 
var2         0.017926 
var3         0.412654 

现在我有了一个新列表:

list2 = [-0.14626096918979603, 
 0.017925919395027533, 
 0.41265398151061766, 
 -0.8538301985671065, 
 0.08182534201640915, 
 0.40291331836021105] 

我想以这样的方式排列 dataframe(手动编辑)

               Col1            Col2 
var1         -0.146261   -0.8538301985671065 
var2         0.017926   0.08182534201640915 
var3         0.412654   0.40291331836021105 

而且只要有第三列或第四列...数据就会以相同的方式排列。我试图将列表转换为 dict 但由于我是 python 的新手,所以我没有得到所需的输出,但只有由于形状无效而导致的错误。

-- 编辑--

创建数据框后,我想使用 df.plot() 绘制它。但是,显示数据的方式不是我想要的。我来自 R,所以我不确定这是否是因为 dataframe 中使用的数据结构。是不是我需要在每一行中进行一次测量?

我的想法是在 x 轴上设置 col1、col2、col3(这是一个时间序列)。在 y 轴上,值的范围(因此在该图中是可以的)和差异线应该显示 var1、var2、var3 的演变等

请您参考如下方法:

这是我想出来的。您可以通过动态设置形状轻松地将其概括为更多列/行

import numpy as np 
import pandas as pd 
 
np_list = np.array(list2) 
list_prep = np.transpose(np_list.reshape(2, 3)) 
 
df = pd.DataFrame(list_prep, index=['v1', 'v2', 'v3'], columns=['c1', 'c2']) 

最终结果是这样的:

          c1        c2 
v1 -0.146261 -0.853830 
v2  0.017926  0.081825 
v3  0.412654  0.402913