這個問題在這里已經有了答案: 從存盤在 python df 3 中的 dict 訪問值 49 分鐘前關閉。
編輯:編輯虛擬資料框
我有一個帶有以下 200 行列的 pandas 資料框。
假設 df 的名稱是資料。
-----------------------------------|
B
-----------------------------------|
{'animal':'cat', 'bird':'peacock'...}
我想將所有行的動物值提取到單獨的列 C 中。
我嘗試了下面的代碼,但它不起作用。
data['C'] = data["B"].apply(lambda x: x.split(':')[-2] if ':' in x else x)
請幫忙。
uj5u.com熱心網友回復:
字典用 pd.json_normalize 解壓
import pandas as pd
data = pd.DataFrame({'B': [{0: {'animal': 'cat', 'bird': 'peacock'}}]})
data['C'] = pd.json_normalize(data['B'])['0.animal']
uj5u.com熱心網友回復:
我不完全確定您的資料結構。這看起來對嗎?
import pandas as pd
import re
df = pd.DataFrame({
"B": ["'animal':'cat'", "'bird':'peacock'"]
})
df["C"] = df.B.apply(lambda x: re.sub(r".*?\:(.*$)", r"\1", x))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532290.html
標籤:Python熊猫数据框
