【发布时间】:2016-09-10 11:56:53
【问题描述】:
我有一个庞大的数据集,在 100 多个 csv 文件中有几列和大约 10k 行,现在我只关心一个具有消息格式的列,我想从中提取两个参数。我进行了广泛的搜索,发现两个解决方案看起来很接近,但还不足以解决这里的问题。 ONE & TWO
输入:列名"Text",每条消息都是 csv 中的单独行。
"Let's Bounce!😉 #[message_1]
Loving the energy & Microphonic Mayhem while…" #[message_2]
RT @IVijayboi: #[message_3] @Bdutt@sardesairajdeep@rahulkanwal@abhisarsharma@ppbajpayi@Abpnewd@Ndtv@Aajtak#Jihadimedia@Ibn7 happy #PresstitutesDay
"RT @RakeshKhatri23: MY LIFE #[message_4]
WITHOUT YOU
IS
LIKE
FLOWERS WITHOUT
FRAGRANCE 💞💞
~True Love~"
Me & my baby ðŸ¶â¤ï¸ðŸ‘ @ Home Sweet Home #[message_5]
输入是一个 CSV 文件,其中包含数据中的其他几列,但我只对这一列感兴趣。我想将 @name 和 #keyword 从输入中分离到一个新列中,例如:
预期输出
text, mentions, keywords
[message], NAN, NAN
[message], NAN, NAN
[message], @IVijayboi, #Jihadimedia
@Bdutt #PresstitutesDay
@sardesairajdeep
@rahulkanwal
@abhisarsharma
@ppbajpayi
@Abpnewd
@Ndtv
@Aajtak
@Ibn7
正如我们在输入中看到的,第一条和第二条消息没有@ 和#,因此列值为NAN,但对于第三条消息,它有10 个@ 和2 个# 关键字。
简而言之,我如何将 @ 提到的名称和 # 关键字从消息中分隔到单独的列中。
【问题讨论】:
-
您也可以添加您当前的代码吗?您的输入和输出数据非常神秘,所以我不太明白您想在这里做什么。
-
我处于不了解如何将整个消息读取为行以及如何将其分开的位置。所以情况就像除了导入包之外我无法编写任何代码:-(
标签: python regex pandas dataset data-cleaning