我有以下列表:
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
关于python - 列出 Pandas 数据框 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58319979/