如何在 pandas 数据帧上小写 JSON 对象

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}
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)

你能试试这个吗?

您是否尝试过将数据列转换为字符串?

import pandas as pd



data['var'] = data['var_map'].astype(str).str.lower()
print data