gpt4 book ai didi

python - 数据帧拆分并转置,使最左边的值成为标题

转载 作者:行者123 更新时间:2023-12-01 01:55:48 26 4
gpt4 key购买 nike

我有一个包含数据对的数据框列,LHS 是列名称,RHS 是列值:

display(df_Normal.head(1))

Data
0 {'MktUMidInit': 'a', 'ProdTemplateName': '', 'ForwardPriceDrop': '99.10', 'CoverPrice': '99.20 'CustParentCdr': '', ...}

期望的输出:

Data
MktUMidInit ProdTemplateName ForwardPriceDrop CoverPrice CustParentCdr...
a 99.10 99.20

每行有五十多对数据

df.head(1).to_dict() 

{'Data': {0: {'Action': 'CustAcceptedQuote',
'AllQ': '104.643',
'AutoNegDealerMidValue': '0',
'AutoNegDealerSpread': '0',
'AutoNegDealerValue': '-1',
'ClearingChannel': '',
'ClearingCode': '',
'ClearingHouse': '',
'ClearingMember': '',
'ClearingModel': '',
'CneResultMessage': '',
'Code': 'AU3TB0000036',
'Commission': '', }}}

我正在考虑先用逗号分割然后转置。 split 命令似乎不适用于数据:

dfSplit = df_Normal['Data'].str.split(',', 1, expand=True)
display(dfSplit.head(1))

NaN

对于转置,我查看了 df.set_index 但这出错了。和有什么建议吗?

最佳答案

看起来您想要将 JSON 数据标准化为 DataFrame。有一个函数可以做到这一点:

from pandas.io.json import json_normalize    
json_normalize(df.Data.tolist())

或者,您可以使用pd.DataFrame.from_records:

pd.DataFrame.from_records(df.Data.tolist())

              Action     AllQ AutoNegDealerMidValue AutoNegDealerSpread  \
0 CustAcceptedQuote 104.643 0 0

AutoNegDealerValue ClearingChannel ClearingCode ClearingHouse \
0 -1

ClearingMember ClearingModel CneResultMessage Code Commission
0 AU3TB0000036

关于python - 数据帧拆分并转置,使最左边的值成为标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50206431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com