我有一个如下所示的数据框:
id ttp var cap_util wip
0 ADLL 3.333333 6.003725e-28 0.327531 3.258475
1 ADLM 2.000000 0.000000e+00 0.197834 1.970107
2 ADLH 1.428571 1.012494e-28 0.140841 1.407658
3 ADML 2.631579 1.012897e-28 0.868789 8.640131
4 ADMM 1.724138 7.889188e-28 0.567057 5.689792
5 ADMH 1.369863 5.961075e-28 0.453626 4.528798
6 ADHL 1.923077 1.014326e-28 0.951970 9.513957
7 ADHM 1.538462 1.437187e-29 0.762675 7.625510
8 ADHH 1.282051 1.974665e-29 0.635893 6.372434
9 ASLL 5.041522 2.684441e+01 0.345550 5.104609
10 ASLM 2.351336 5.567464e+00 0.175023 2.034605
11 ASLH 1.775086 3.101865e+00 0.153913 1.872913
12 ASML 12.662366 1.565324e+02 0.818762 38.526489
13 ASMM 3.754160 1.401226e+01 0.577600 12.223828
14 ASMH 2.358363 5.185841e+00 0.438072 7.880536
15 ASHL 14.769186 2.008306e+02 0.865977 65.487920
16 ASHM 6.829864 5.845502e+01 0.733780 32.611342
17 ASHH 3.725520 1.640096e+01 0.600177 18.561905
我想从四个列中创建列表,所以我要执行以下操作:
ttp = list(dataframe.ttp)
cap_util = list(dataframe.cap_util)
wip = list(dataframe.wip)
var = list(dataframe.var)
它对所有这些都很好,除了var,我得到以下错误:
Traceback (most recent call last):
File "07_corrplot_var_physics.py", line 34, in <module>
all_var = list(master_df.var)
TypeError: 'instancemethod' object is not iterable
为什么会发生这个错误,我该如何修复它?
您可以使用
tolist()
:发生此错误的原因是
var
属性正在对列进行阴影处理,例如:最好使用方括号
[]
来访问列,而不是作为一个属性来避免像这样的复杂情况^{} 是df上的一个方法,它返回方差:
由于这些方法是不可iterable的,因此本质上,列名与方法名相同,因此通过尝试作为属性访问,方法名优先,因此为了避免歧义,请使用方括号
df['var']
相关问题 更多 >
编程相关推荐