這是爲元組創建DataFrame的正確方法嗎? (假定元組碼片段內部產生)Python:Pandas DataFrame for元組
import pandas as pd
import numpy as np
import random
row = ['a','b','c']
col = ['A','B','C','D']
# use numpy for creating a ZEROS matrix
st = np.zeros((len(row),len(col)))
df2 = pd.DataFrame(st, index=row, columns=col)
# CONVERT each cell to an OBJECT for inserting tuples
for c in col:
df2[c] = df2[c].astype(object)
print df2
for i in row:
for j in col:
df2.set_value(i, j, (i+j, np.round(random.uniform(0, 1), 4)))
print df2
正如你可以看到我首先在numpy的創建zeros(3,4)
再發每個單元的對象類型中熊貓所以可以插入的元組。這是正確的方法嗎?還是有一個更好的解決方案ADD/RETRIVE元組到矩陣?
結果都很好:
A B C D
a 0 0 0 0
b 0 0 0 0
c 0 0 0 0
A B C D
a (aA, 0.7134) (aB, 0.006) (aC, 0.1948) (aD, 0.2158)
b (bA, 0.2937) (bB, 0.8083) (bC, 0.3597) (bD, 0.324)
c (cA, 0.9534) (cB, 0.9666) (cC, 0.7489) (cD, 0.8599)
DataFrames實際上是爲了在每個單元格中存儲標量值而設計的。你爲什麼要存儲元組? –
我正在設計一個HMM /維特比類,所以我必須存儲概率和之前創建該概率的狀態,以便稍後可以檢索最佳後向路徑。 – Rebin
爲什麼不把它們存儲在單獨的列中? –