[英]How do I lowercase a JSON object on pandas dataframe
這是我的數據:
Id var_map
1 {'email_count': 3.0, 'outgoing': 90.0}
2 {'Email_Count': 5.0, 'outgoing': 91.0}
我所做的是
df['var_map'] = score_data['var_map'].str.lower()
結果與我預期的原因不同,錯誤是這樣的
Id var_map
1 NaN
2 NaN
我應該如何解決這個問題
這是使用apply
一種方法。
例如:
import pandas as pd
df = pd.DataFrame({"var_map": [{'email_count': 3.0, 'outgoing': 90.0}, {'Email_Count': 5.0, 'outgoing': 91.0}]})
df["var_map"] = df["var_map"].apply(lambda x: {k.lower(): v for k,v in x.items()})
print(df)
輸出:
var_map
0 {u'outgoing': 90.0, u'email_count': 3.0}
1 {u'outgoing': 91.0, u'email_count': 5.0}
您是否嘗試過將數據列轉換為字符串?
import pandas as pd
data['var'] = data['var_map'].astype(str).str.lower()
print data
def var_map_lower(var_map):
return {x.lower(): y for (x,y) in var_map.items()}
df['var_map'] = df['var_map'].apply(var_map_lower)
你可以試試這個嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.