【发布时间】:2021-07-20 07:39:00
【问题描述】:
我在 pandas 中有一个如下所示的数据框
| A | B |
|---|---|
| data | {"foo":"bar","cat":"dog"} |
| data1 | {"foo":"car","cat":"log"} |
我不认为B列中的数据实际上是一个字典,但它看起来像一个。我正在尝试创建一个新列 C,每行的值为“cat”,所以我想要的输出将是与上面相同的表,并在末尾附加一个新列 C,如下所示
| C |
|---|
| dog |
| log |
我尝试了以下方法:
- snapshotT = df['B'].str.split(':') --> 这似乎没有任何作用
- snapshotT = df['B'].rsplit(':',1) --> 这个返回错误 AttributeError: 'Series' object has no attribute 'rsplit'
- snapshotTitle = df['B'].apply(lambda x: x.get('cat')) --> 这个返回错误 AttributeError: 'str' object has no attribute 'get'
我了解我的一般问题是我正在尝试使用不适用于我的数据类型的属性,但不确定还可以尝试什么。有什么想法吗?
【问题讨论】:
标签: python pandas string types split