如何列出熊猫数据框?

时间:2019-09-27 03:12:40

标签: python pandas list dataframe entropy

我使用数组作为数据来计算熵,如

[0.537, 0.073, 0.001]
[0.281, 0.613, 0.003]
[0.172, 0.523, 0.133]

我制作了for循环来计算熵并将其列出

for i in range(57):
  result = []
  result.append(i)
  result.append(-np.nansum(dfarray[i, :]*np.log(dfarray[i, :])))
  print(result)

输出为

[0, 1.1937696641805506]
[1, 1.2128888001894198]
[2, 1.4231436967180882]
[3, 1.0475158758059124]
[4, 1.0068787695067478]
[5, 1.376627284143999]
[6, 1.2185719504888797]
[7, 1.1286096703354938]
[8, 1.106661815260767]
[9, 1.1017521697210102]
[10, 1.2370674649681535]
[11, 1.1944921044993193]
[12, 0.8539017107504977]
[13, 1.019046911152208]
[14, 0.9981092532222372]
[15, 1.116446236508542]
[16, 1.2665183315076298]
[17, 1.2006513624778945]
[18, 1.213665824664524]
[19, 1.2870090807203525]
...

我想像这样将输出输出到熊猫数据框

      1
0     1.1937696641805506
1     1.2128888001894198
2     1.4231436967180882
3     1.0475158758059124
4     1.0068787695067478
5     1.376627284143999

plz帮助...

2 个答案:

答案 0 :(得分:2)

import pandas as pd
df = pd.DataFrame(result[:,1])

这将创建一个像这样的数据框:

    0
0   1.193770
1   1.212889
2   1.423144
3   1.047516
4   1.006879
5   1.376627

如果要调用“熵”列而不是“ 0”,只需将行更改为:

df = pd.DataFrame({"Entropy":result[:,1]} )

答案 1 :(得分:1)

如果您不确定如何将结果放入数组中,请参见完整代码。

dfarray = np.array([[0.537, 0.073, 0.001], [0.281, 0.613, 0.003], [0.172, 0.523, 0.133]])

final_result = []

for i in range(len(dfarray)):
  result = []
  result.append(i)
  result.append(-np.nansum(dfarray[i, :]*np.log(dfarray[i, :])))
  final_result.append(result)

df = pd.DataFrame({"Entropy": np.array(final_result)[:,1]})