将一列分为两个选择文本

pesc9

我有这个数据框:

df = [{"username": "last",
"time_data": "{\"hours\":[{\"hour\":\"00:00\",\"postCount\":\"5\",\"topicCount\":\"3\",\"totalCount\":80},{\"postCount\":\"20\",\"topicCount\":\"11\",\"name\":\"Marketplace\",\"url\",\"totalCount\":31},{\"postCount\":\"26\",\"topicCount\":\"1\",\"name\":\"Atari 5200\",\"url\",\"totalCount\":27},{\"postCount\":\"9\",\"topicCount\":0,\"name\":\"Atari 8\",\"url\"\"totalCount\":9}"
},
{"username": "truk",
 "time_data": "{\"hours\":[{\"hour\":\"00:00\",\"postCount\":\"11\",\"topicCount\":\"6\",\"totalCount\":362},{\"postCount\":\"333\",\"topicCount\":\"22\",\"name\":\"Hardware\",\"url\",\"totalCount\":355},{\"postCount\":\"194\",\"topicCount\":\"8\",\"name\":\"Marketplace\",\"url\",\"totalCount\":202}"
}]
df = pd.DataFrame(df)
df

我已经运行了这段代码:

df_h0 = df.copy()
df_h0['hour']='00:00' 
df_h0['totalCount']=df.post_time_data.str.split('"00:00","postCount":"').str[1].str.split('","topic').str[0]
df_h0 = df_h0.fillna(0)
df_h0.head()

但是实际上,我需要在“ totalCount”之后获取数字。我不知道该怎么做,因为还有其他“ totalCount”,而我需要的是“ 00:00”之后的一个。

这是预期的输出:

       hour    totalCount   username
0     00:00       80         last
1     00:00       362        truk
罗曼·佩列赫雷斯特

在您的位置,我将调查那些试图模仿json表示形式的字符串的来源确保相应的字典不能被检索/提取。但是,如果不允许这样做,则可以使用以下Series.str.extract功能:

In [230]: df_h0['totalCount'] = df['time_data'].str.extract(r'totalCount\":(\d+)')                                                             

In [231]: df_h0                                                                                                                                
Out[231]: 
  username   hour totalCount
0     last  00:00         80
1     truk  00:00        362

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将两个日期从一列拆分为两个不同的列

将数据帧的一列拆分为两个单独的列

SQL - 将一列中的值拆分为两个单独的列

如何将另一列中的值划分为一组的两个不同因素?

postgresql 选择像一列两个词

如何在一个文本文件中将一列分为两个制表符分隔的列

将数据框的列分为两列:一列仅包含文本,而另一列仅包含数字

如何在Python中将列表分为两个唯一列表?

一种更pythonic的方式将一列拆分为多个列,并将它们中的两个相加

css 2列将文本向上浮动到两个文本的底部,允许一列扩展为文本

如何将一列分为两列?

将一列拆分为两列 - SQL Server

如何将一列分为两列

按字符变量将一列分为两列

使用 r 将一列拆分为两列

将一列拆分为两列 bash Linux

将一列拆分为两列mysql表

将列表列表内的字符串拆分为两个元素,这些元素保留在同一列表中

用两个单词将文本拆分为数组

如何选择一列中两个不同列中可用的值列表?

根据另一列中的另外两个值选择列的值

选择在同一列中具有两个不同值的行

SQL:在一列上使用两个条件进行选择

MYSQL选择基于匹配同一列的两个条件

熊猫:如何基于同一列中的两个条件选择行

选择与另一列的两个不同值相关的 id

在pandas DataFrame中选择与一列的前两个不同项匹配的行

如何在两个条件下为同一列选择使用联接

选择同一列中两个日期之间的最大差异