我尝试在我的数据框中附加一个新列。它不起作用......嗯......它确实有效,但它总是抛出SettingWithCopyWarnings。
我使用了所有方法proposed here,并搜索了其他Stackoverflow线程以获得解决方案,但我仍然无法到达。
我有一个动态的单词列表,应该作为新列添加到我的DataFrame中。在每一列中,应有一行文字中的单词计数。
import re
import pandas as pd
df = pd.read_csv('manyLinesOfText.csv')
word_lst = ['foo', 'bar', 'spam']
def element_word_count(text, **kwds):
return float(len(re.findall(kwds['kwds']['countword'], text)))
for word in word_lst:
df[word] = df['textcolumn'].apply(element_word_count, kdws = {'countword':word})
这样可行,但会引发恼人的警告。
我尝试assign
但它根本不起作用,因为assign的语法解释了"字"作为专栏的标题。
我尝试了df.insert
,但它抛出了一个NoneType异常,这很奇怪,因为我的df肯定不是NoneType。
我尝试了df.loc[:,word]
,但确实没有解决任何问题。它起作用,抛出同样的异常。
在整整一天的工作之后,也许我的脑中只有一个结,但我找不到解决方案。
我还认为我对df.apply
的使用有点奇怪 - 所以如果有人找到一种更简单的方法来计算给定但动态的单词列表,我会对任何事情持开放态度。
非常感谢!
答案 0 :(得分:0)
我发现了失败。感谢所有花时间阅读我的帖子的人。 这里的代码实际上没问题。问题在其他地方被发现,在其他地方进行了修正之后,警告在这一部分消失了。