繁体   English   中英

将 python 系列对象转换为 pd.dataframe

[英]Converting a python series object to a pd.dataframe

寻求帮助。 我有一个要转换为 pd.DataFrame 的对象。

数据的结构如下:

1      {'count': 0, 'distances': {'values': [], 'unit...
2      {'count': 0, 'distances': {'values': [], 'unit...
3      {'count': 0, 'distances': {'values': [], 'unit...
4      {'count': 0, 'distances': {'values': [], 'unit...
                             ...                        
153    {'count': 0, 'distances': {'values': [], 'unit...
154    {'count': 0, 'distances': {'values': [], 'unit...
155    {'count': 0, 'distances': {'values': [], 'unit...
156    {'count': 0, 'distances': {'values': [], 'unit...
157    {'count': 0, 'distances': {'values': [], 'unit...
Name: people, Length: 158, dtype: object>"```

What I am trying to do is convert the tuple of 'count' and the associated value into the Data Frame.

Have not had much luck searching for solutions so anything help would be appreciated. 

作为我使用的源数据帧:

   people
1  {'count': 10, 'distances': {'values': [1, 2, 3], 'unit': 'X1'}}
2  {'count': 20, 'distances': {'values': [4, 5, 6, 7], 'unit': 'X2'}}
3  {'count': 30, 'distances': {'values': [8, 9], 'unit': 'X3'}}'''

要完成您的任务,请运行:

result = df.people.apply(lambda tt: pd.json_normalize(
    pd.io.json.loads(tt.replace("'", '\"'))).iloc[0])

脚步:

  • 用双引号替换单引号,
  • 将此字符串转换为 JSON 对象,
  • 调用json_normalize (结果是一个 DataFrame),
  • 只取它的第一行。

对于我的源数据,结果是:

   count distances.values distances.unit
1     10        [1, 2, 3]             X1
2     20     [4, 5, 6, 7]             X2
3     30           [8, 9]             X3

如果需要,重命名除count之外的列,删除初始距离和一个点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM