以数组为列值的数据帧选择

2024-09-25 10:30:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个装满twitter数据的数据框。这些列是:

  • 行id:Int
  • 内容:字符串
  • 提到:[字符串]
  • 值:Int

因此,对于每一条tweet,我都有它在数据帧中的行id,tweet的内容,tweet中使用的提及(例如:“@foo”)作为字符串数组,以及我根据tweet的内容计算的值。你知道吗

行的示例如下:

  • 行id:12
  • 内容:“权力的游戏很糟糕”
  • 提到:['@hbo','@tv','@Dissapintment','@whatever']
  • 值:-0.71

所以我需要一种方法来做以下三件事:

  • 在“提及”字段中查找包含提及“@foo”的所有行
  • 在“提及”字段中查找仅包含提及“@foo”的所有行
  • 但是检查字符串数组而不是只检查一个句柄

如果有人能帮我解决这个问题,或者给我指出正确的方向,那就太好了。你知道吗


Tags: 数据字符串id游戏示例内容footwitter
1条回答
网友
1楼 · 发布于 2024-09-25 10:30:48

让我们称您的数据帧为df。你知道吗

对于您使用的第一个任务:

result = df[(Dataframe(df['mentions'].tolist()) == '@foo').any(1)]

在这里,Dataframe(df['mentions'])创建了一个新的数据帧,其中每一列是一个提,每一行是一个tweet。你知道吗

然后== '@foo'生成一个包含True的布尔数据帧,其中提到的是'@foo'。你知道吗

最后.any(1)返回一个布尔索引,如果行中的任何元素为真,则返回该元素为真。你知道吗

我想有了这个帮助你可以自己解决剩下的问题。你知道吗

相关问题 更多 >