如何列出 pandas 数据框?
How to make list to pandas dataframe?
我使用数据数组来计算熵,例如
[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]
...
我想将输出输出到 pandas 数据帧,如
1
0 1.1937696641805506
1 1.2128888001894198
2 1.4231436967180882
3 1.0475158758059124
4 1.0068787695067478
5 1.376627284143999
请帮助...
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
如果要调用列 "Entropy" 而不是“0”,只需将行更改为:
df = pd.DataFrame({"Entropy":result[:,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]})
我使用数据数组来计算熵,例如
[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]
...
我想将输出输出到 pandas 数据帧,如
1
0 1.1937696641805506
1 1.2128888001894198
2 1.4231436967180882
3 1.0475158758059124
4 1.0068787695067478
5 1.376627284143999
请帮助...
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
如果要调用列 "Entropy" 而不是“0”,只需将行更改为:
df = pd.DataFrame({"Entropy":result[:,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]})