将json列读入新列pandas

法拉

我在pandas数据框中有一个这样的列,我想将其转换为a,b,c,d的多个列

{"a":false,"b":false}
{"a":false,"b":false,"c":true}
nan
{"a":false}
{"a":true,"d":true}

我试过了:

ops = ops.join( pd.DataFrame(json.loads(d)  for d in ops.pop('json_column')) )

但它会创建带有名称(a,b,c,d)的列,并且不会将值放入其中。所有值均为nan。

耶斯列尔

对于我来说,您的解决方案使用if-else语句来处理缺失值,并且还添加[]index参数:

ops = ops.join(pd.DataFrame([json.loads(d) 
                             if pd.notna(d) 
                             else {} 
                             for d in ops.pop('json_column')], index=ops.index))
print (ops)
       a      b     c     d
0  False  False   NaN   NaN
1  False  False  True   NaN
2    NaN    NaN   NaN   NaN
3  False    NaN   NaN   NaN
4   True    NaN   NaN  True

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将列表读入pandas DataFrame的列

来自分类Dev

将列读入单独的列表

来自分类Dev

将数据列读入向量

来自分类Dev

将文件列读入数组

来自分类Dev

Pandas DataFrame-将列转换为JSON并添加为新列

来自分类Dev

将数据读入SAS,列未对齐

来自分类Dev

PHP将csv列读入数组

来自分类Dev

将文件中的列读入单独的变量

来自分类Dev

将两列文件读入Python

来自分类Dev

将文件中的列读入结构

来自分类Dev

以文件名作为列标题将多个* .txt文件读入Pandas Dataframe

来自分类Dev

将包含元组列表的列拆分为新列pandas

来自分类Dev

将多值列扩展到 Pandas 中的新列

来自分类Dev

将类似散列的配置数据读入Perl散列

来自分类Dev

将类似散列的配置数据读入Perl散列

来自分类Dev

如何读入多个 .csv 文件,合并并创建新列?

来自分类Dev

将文件读入JSON

来自分类Dev

EPPlus将Excel的第一列读入数组

来自分类Dev

Python将特定的csv列读入列表

来自分类Dev

将所有列读入字符串的最佳方法

来自分类Dev

将CSV读入HTML表-忽略特定的列

来自分类Dev

按指定的列长度将 ASCII 数据读入 R

来自分类Dev

将单词/短语读入带空格的列中

来自分类Dev

将朴素的datetime列转换为新的时区Pandas Dataframe

来自分类Dev

将dict键映射到pandas df中的新列

来自分类Dev

将新列数组添加到Pandas数据框

来自分类Dev

将每小时的行数据转换为新列Pandas

来自分类Dev

将朴素的datetime列转换为新的时区Pandas Dataframe

来自分类Dev

将单词分词为pandas数据框中的新列