新手程序员在这里寻求帮助。我有一个看起来像这样的数据框:
Message
0 "Blah blah $AAPL"
1 "Blah blah $ABT"
2 "Blah blah $amzn"
3 "Blah blah $AMZN"
4 "Blah blah $KO"
5 "Blah blah $fb"
6 "Blah blah $GOOGL"
7 "Blah blah $BA"
8 "Blah blah $BMY"
我想要的输出是一个新列,该列为我提供了推文中使用的Cashtag,无论它是大写还是小写。在此示例中,它将是:
Message Cashtag
0 "Blah blah $AAPL" "$AAPL"
1 "Blah blah $ABT" "$ABT"
2 "Blah blah $amzn" "$AMZN"
3 "Blah blah $AMZN" "$AMZN"
4 "Blah blah $KO" "$KO"
5 "Blah blah $fb" "$FB"
6 "Blah blah $GOOGL" "$GOOGL"
7 "Blah blah $ba" "$BA"
8 "Blah blah $BMY" "$BMY"
如何获得所需的输出?
这将从所有字符串中提取第一个现金标签:
df['Cashtag'] = df['Message'].str.extract(r'(\$[A-Za-z]{1,4})', expand=False)
查看有关Series.str.extract的文档。
更好的是,因此您以后可以按现金标签进行分组,建议您也将它们转换为全部大写:
df['Cashtag'] = df['Message'].str.extract(r'(\$[A-Za-z]{1,4})', expand=False).str.upper()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句