【发布时间】:2020-01-28 10:04:35
【问题描述】:
我有一个 pandas 数据框,它有一列包含多个字典值。
我使用 pd.series 将这些 dict 扁平化为单独的列。现在一列被分成 14 列。但它在每行 14 列中仍然有字典值。
以A、B、C..的方式有14列的样本数据:
index A B C
0 {'field_name': 'Supplier Name', {'field_name': 'BG', 'user_value': None, {'field_name': 'VATNumber', 'user_value': None,
'user_value': None, 'value' : 'ABCD'} 'value': '764065'} 'value': 'SE1234556'}
如何进一步将它们提取为单独的列,如下所示:
field_name user_value value
Supplier Name None ABCD
BG None 764065
VATNumber None SE1234556
代码:
df = pd.DataFrame(data) #data is a list of 'values'
df1 = df['values'].apply(pd.Series)
#naming the multiple columns as A, B..
column_names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O']
df1 = pd.DataFrame(df1.values, columns = column_names)
【问题讨论】:
-
一些示例数据会很可爱:)
-
如果你使用系列,那么你只会得到一维系列,你能分享你的代码吗?
-
如果您可以以文本方式粘贴数据,我们将更容易复制。无论如何,你可以试试:
new_df = pd.DataFrame(df.values.flatten().tolist()) -
请勿发布图片,将数据以文本形式发布,以便他人轻松复制复制
-
图片不存在。
标签: python pandas dataframe dictionary