繁体   English   中英

从实体中提取主题标签并将它们添加到新列

Extract hashtags from entities and add them to new column

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我从 json 推文文件中创建了以下 dataframe。

tweets['text'] =    list(map(lambda tweet: tweet['text'], tweets_data))
tweets['date'] =    list(map(lambda tweet: tweet['created_at'], tweets_data))
tweets['lang'] =    list(map(lambda tweet: tweet['lang'], tweets_data))
tweets['place_type'] = list(map(lambda tweet: tweet['place']['place_type'] if tweet['place'] != None else None, tweets_data))
tweets['place_name'] = list(map(lambda tweet: tweet['place']['full_name'] if tweet['place'] != None else None, tweets_data))
tweets['country'] = list(map(lambda tweet: tweet['place']['country'] if tweet['place'] != None else None, tweets_data))
tweets['hashtags'] =  list(map(lambda tweet: tweet['entities']['hashtags'], tweets_data))

hashtags 列的当前 output 如下:

"[{'text': 'NOJUSTICE', 'indices': [62, 72]}, {'text': 'TrumpPence', 'indices': [93, 104]}]"

我正在尝试创建一个仅包含主题标签的新列。 例如:

正义与霸道

我尝试了以下代码:

ht=[]
for s in range(len(tweets['hashtags'])):
    hasht=[]
    for t in range(len(tweets.hashtags[s])):
        hasht.append(tweets['hashtags'][s][t]['text'])
        t=t+1
    ht.append(hasht)
    s=s+1
tweets['HT']=zip(ht)

我收到以下错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-38-9780008354d7> in <module>
      3     hasht=[]
      4     for t in range(len(tweets.hashtags[s])):
----> 5         hasht.append(tweets['hashtags'][s][t]['text'])
      6         t=t+1
      7     ht.append(hasht)

TypeError: string indices must be integers

样品 csv 文件

我希望主题标签列只包含不包含索引和其他内容的主题标签

更新:我使用了以下建议并得到了同样的错误

tweets['hashtags'].apply(lambda x: [d['text'] for d in x])
1 个回复

您可以使用pandas.Series.apply来解析主题标签,如下所示:

tweets['hashtags'].apply(lambda x: [d['text'] for d in x])

然后您需要将 output 存储在 dataframe 的新列中。 这个匿名的 function 将值作为输入并遍历列表中的每个字典(如果它不为空),然后创建键中值的新列表:'text'。 output 看起来像这样:

0                                                  []
1                             [NOJUSTICE, TrumpPence]
2                                                  []
3                                                  []
4                          [CNN, newday, Trump, ISIS]
5                                        [NeverTrump]
6    [Trump2016, TrumpPence16, MakeAmericaGreatAgain]
7                                                  []
8                                                  []
9                                                  []
dtype: object
2 提取标签并在Powershell中添加到新的csv字段

每个月,我都会下载Twitter分析,以获取我负责的一些与工作相关的句柄。 我在powershell中进行了一些数据按摩(将数字列的-更改为null),以便我的Excel Power Query可以轻松使用数据。 我已决定将主题标签从“推文文本”列中复制到其自己的列中,以进行有关其性 ...

4 如何从数据框中的列中提取数字并将其添加到新列中

我有一个名为df的数据df ,它有一列( Today's price )作为字符串值。 这是该列的摘录: 我的数据框 (df) 中需要一个名为“Price”(从“Today's price”列中提取)的新列,如下所示: 这是我所做的,我为所有记录获得了“NA”,并且它没有创建“价格”列。 ...

6 使用带有 grepl 和循环的名称列表从字符串中提取名称,并将它们添加到 R 中的新列

我有一个数据集,其中一列包含姓名,一列指示该人白天做了什么。 我正在尝试使用 R 找出那天在我的数据集中谁会见了谁。我创建了一个包含数据集中名称的向量,并在循环中使用 grepl 来确定名称出现在详细说明人们活动的列中的位置在数据集中。 然而,由于两个原因,该解决方案并不令人满意。 当这个人遇到 ...

7 从String中提取Hashtags

假设我有一个带有一些主题标签的段落,我想将它们复制出来并单独显示它们。 这是一些虚拟文本: 可视化如何启用#vertical #architectures? 只要你可以,解除垂直#convergence? #Visualize如何启用#vertical架构? 只要你可以,解除垂 ...

8 在Rapidminer中从内容中提取主题标签

我在csv文件中有一些tweets数据,我想(1)仅提取主题标签(带有## cloudcomputing,#cloud_computing,#101Cloud等特殊字符,并考虑将多种情况表示为一个主题标签,例如#edtech,#Edtech ,#EdTech等),(2)根据主题标签对推文进行分组 ...

9 从数据帧中提取和计算主题标签

我有一些包含一些推文的数据框,如下所示: 然后我将主题标签放在数据帧的另一列中 现在我想计算它们并将结果放在另一个数据帧中。 我尝试了以下但没有奏效 结果必须是这样的: ...

10 javascript从字符串中提取主题标签

我有一个从后端收到的字符串,我需要提取主题标签。 标签以以下两种形式之一书写 我设法通过以下方式从第一种类型中提取: str.replace(/#(\\S*)/g我如何才能将第二种格式更改为以空格分隔的标记以及第一种格式? 基本上我想从格式2转换为 至 ...

暂无
暂无

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

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