0
我想將熊貓系列分爲關鍵和值對。我的程序將它轉換爲鍵和值對,但我想要這個鍵和值的格式。如何將熊貓系列分爲關鍵值?
輸入文本文件包含以下數據:
Input.txt-
3=123|4=88|5=M|8=75|9=29
3=38|4=13|5=I|8=17.3|9=10|1021=0|854=p|394=7.73|474=7.7477558
程序 - 代碼 -
df = pd.read_csv(inputfile, index_col=None, names=['text'])
df_list = df.values.T.tolist()
s = df.text.str.split('|')
splited_list = s.values.T.tolist()
s1 = pd.Series(splited_list)
ds = [dict(w.split('=', 1) for w in x) for x in s1]
p = pd.DataFrame.from_records(ds)
p1 = p.replace(np.nan,'n/a', regex=True)
st = p1.stack(level=0,dropna=False)
dfs = [g for i, g in st.groupby(level=0)]
dfs_length = len(dfs)
i = 0
while i < dfs_length:
#index of each column
print '\nindex[%d]'%i
for k,v in dfs[i].iteritems():
print k,' : ',v
i = i + 1
這將產生以下的輸出:
輸出 -
index[0]
(0, '1021') : n/a
(0, '3') : 123
(0, '394') : n/a
(0, '4') : 88
(0, '474') : n/a
(0, '5') : M
(0, '8') : 75
(0, '854') : n/a
(0, '9') : 29
index[1]
(1, '1021') : 0
(1, '3') : 38
(1, '394') : 7.73
(1, '4') : 13
(1, '474') : 7.7477558
(1, '5') : I
(1, '8') : 17.3
(1, '854') : p
(1, '9') : 10
我想在其他格式的輸出。我希望這個n/a內容在每個結果的末尾出現,並且我想刪除這些鍵的索引和括號。輸出內容也應該與輸入文件中的可用順序相同。
預期輸出:
index[0]
3 123
4 88
5 M
8 75
9 29
1021 n/a
394 n/a
474 n/a
854 n/a
index[1]
3 38
4 13
5 I
8 17.3
9 10
1021 0
854 p
394 7.73
474 7.7477558
我如何能得到這個類型的輸出有什麼建議?
請在您的文章中添加示例數據,以便您的示例具有可重現性。 – BrenBarn
@ BrenBarn-是的,肯定看到Input.txt。 – kit
@ BrenBarn-難以理解這個問題嗎? – kit