StackOverflow 中的其他開發人員。我有字串資料,
'key=apple; age=10; key=boy; age=3'
我們如何將其轉換為熊貓的資料框,以便鍵和年齡將成為標題和列中的所有值?
key age
apple 10
boy 3
uj5u.com熱心網友回復:
嘗試這個:
import pandas as pd
data = 'key=apple; age=10; key=boy; age=3'
words = data.split(";")
key = []
age = []
for word in words:
if "key" in word:
key.append(word.split("=")[1])
else:
age.append(word.split("=")[1])
df = pd.DataFrame(key, columns=["key"])
df["age"] = age
print(df)
uj5u.com熱心網友回復:
你可以試試這個:
import pandas as pd
str_stream = 'key=apple; age=10; key=boy; age=3'
lst_kv = str_stream.split(';')
# lst_kv => ['key=apple', ' age=10', ' key=boy', ' age=3']
res= [{s.split('=')[0].strip(): s.split('=')[1] for s in lst_kv[i:i 2]}
for i in range(len(lst_kv)//2)
]
df = pd.DataFrame(res)
df
輸出:
key age
0 apple 10
1 boy 10
對一行的更多解釋res:
res = []
for i in range(len(lst_kv)//2):
dct_tmp = {}
for s in lst_kv[i:i 2]:
kv = s.split('=')
dct_tmp[kv[0].strip()] = kv[1]
res.append(dct_tmp)
res
輸出:
[{'key': 'apple', 'age': '10'}, {'age': '10', 'key': 'boy'}]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/447936.html
上一篇:Python將檔案合并為一個并根據自己檔案中的先前標簽重新組合行
下一篇:R:按基因名稱在2列中分組
