Python中的嵌套循环:按日期分组,然后按字符串分组

2024-04-19 08:56:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理Salesforce的数据,这是一场噩梦。我希望能够按情绪和日期按数据分组

示例行:

Date                        Provider    Sentiment
2017-09-01T01:11:14.000Z    Facebook    Positive

问题1:将SF数据转换为日,然后以正确的格式转换:

我想我可以用一个函数:

date = sentiment_day['CreatedDate']

def day(date):
    return date[:10]

 days = date.apply(day)

 formatted_days = pd.to_datetime(days)

 sentiment_day = sentiment_day.assign(Date = Date.values)

这是正确的,现在我想得到每一天,然后获得的感情。你知道吗

新示例行:

Date                        Provider    Sentiment   Date
2017-09-01T01:11:14.000Z    Facebook    Positive    2017-09-01

我可以写一个循环,计算每种情绪每天的总数:

num_negative = 0
num_positive = 0
num_neutral = 0

 for sentiment in sentiment_day['Sentiment']:
    if sentiment == "Negative":
        num_negative +=1
    if sentiment == "Positive":
        num_positive +=1
    if sentiment == "Neutral":
        num_neutral +=1

print(num_negative)
print(num_positive)
print(num_neutral)

输出:

242个 536 1222年

很好!你知道吗

问题2:我想获得数据帧中每天的计数

我相信这是一个嵌套循环?但我找不到任何相关的例子可以复制。我们将不胜感激

提前谢谢


Tags: 数据dateifdaysnumprint情绪sentiment
1条回答
网友
1楼 · 发布于 2024-04-19 08:56:39

例如,假设您只有有限数量的情感状态和提供者

DateTime,   Provider,   Sentiment
2023-05-10T12:11:12,    Facebook,   Positive
2023-05-11T09:09:55,    Twitter,    Positive
2023-05-25T02:00:52,    Twitter,    Negative
2023-05-26T00:48:22,    Facebook,   Positive
2023-05-30T15:40:37,    Facebook,   Positive
2023-06-14T18:24:38,    Facebook,   Negative
2023-07-02T09:17:39,    Facebook,   Positive
2023-07-14T11:25:05,    Twitter,    Positive
2023-07-15T08:01:35,    Twitter,    Negative
2023-07-22T22:49:52,    Facebook,   Positive

在Python中,我将使用一个for来填充不同的列表,其中包含单独的日期和时间以及情绪。然后,可以计算每个表中的值数。就我个人而言,我认为在SQL中这样做会更容易,因为这样您就可以简单地执行以下操作:

Select * where Sentiment = "Positive" and Provider = "Facebook"

相关问题 更多 >