我有以下df,包含来自不同来源的每日文章:
print(df)
Date content
2018-11-01 Apple Inc. AAPL 1.54% reported its fourth cons...
2018-11-01 U.S. stocks climbed Thursday, Apple is a real ...
2018-11-02 GONE are the days when smartphone manufacturer...
2018-11-03 To historians of technology, the story of the ...
2018-11-03 Apple Inc. AAPL 1.54% reported its fourth cons...
2018-11-03 Apple is turning to traditional broadcasting t...
(...)我想计算“苹果”这个词的每日提到的总数--因此按日期进行汇总。如何创建"final_df"?
print(final_df)
2018-11-01 2
2018-11-02 0
2018-11-03 2
(...)发布于 2018-12-17 11:21:13
将count用于新的Series,按列df['Date']与sum聚合
df1 = df['content'].str.count('Apple').groupby(df['Date']).sum().reset_index(name='count')
print (df1)
Date count
0 2018-11-01 2
1 2018-11-02 0
2 2018-11-03 2发布于 2018-12-17 11:19:38
发布于 2018-12-17 11:23:14
您可以使用str.contains和groupby函数尝试替代解决方案,而不必一直使用sum。
>>> df
Date content
0 2018-11-01 Apple Inc. AAPL 1.54% reported its fourth cons
1 2018-11-01 U.S. stocks climbed Thursday, Apple is a real
2 2018-11-02 GONE are the days when smartphone manufacturer
3 2018-11-03 To historians of technology, the story of the
4 2018-11-03 Apple Inc. AAPL 1.54% reported its fourth cons
5 2018-11-03 Apple is turning to traditional broadcasting t解决办法:
df.content.str.contains("Apple").groupby(df['Date']).count().reset_index(name="count")
Date count
0 2018-11-01 2
1 2018-11-02 1
2 2018-11-03 3
# df["content"].str.contains('Apple',case=True,na=False).groupby(df['Date']).count()https://stackoverflow.com/questions/53813632
复制相似问题