我正在尝试将Pandas Dataframe 列值从-
{'01AB': [("ABC", 5),("XYZ", 4),("LMN", 1)], '02AB_QTY': [("Other", 20),("not_Other", 150)]}
这就是我一直尝试到现在,但没有工作
import pandas as pd
df = pd.DataFrame.from_records([{'01AB': [("ABC", 5),("XYZ", 4),("LMN", 1)], '02AB_QTY': [("Other", 20),("not_Other", 150)]}])
col_list = ["01AB", "02AB_QTY",]
# for col in col_list:
# df[col] = df[col].apply(lambda x: {} if x is None else {key: {v[0]:v[1] for v in list_item} for key, list_item in x.items()})
df
预期输出如下所示
{'01AB': {"ABC":5,"XYZ":4,"LMN":1}, '02AB_QTY': {"Other":20,"not_Other":150}}
4条答案
按热度按时间mbyulnm01#
我们可以使用
df.applymap()
,通过dict解析将每个列表转换为dict,如下所示:vngu2lb82#
输出量:
6l7fqoea3#
你可以用字典理解:
输出量:
baubqpgj4#
感谢所有的线索,我能够解决如下问题-
输出-