[英]Pandas: groupby and make a new column applying aggregate to two columns
[英]pandas groupby and aggregate into new column
做了一些搜索,但沒有產生所需的結果,即按日期對數據進行分組並計算頻率。 我可以用聚合做到這一點,但我不知道如何用結果創建一個新列,謝謝。
文件中的數據:
Domain Dates
twitter.com 2016-08-08
google.com 2016-08-09
apple.com 2016-08-09
linkedin.com 2016-08-09
microsoft.com 2016-08-09
slack.com 2016-08-12
instagram.com 2016-08-12
ibm.com 2016-08-12
碼
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import numpy as np
df = pd.read_csv('domains.tsv', sep='\t')
df = df.groupby([pd.to_datetime(df.Dates).dt.date]).agg({'Dates':'size'})
print(df)
產量
Dates
Dates
2016-08-08 1
2016-08-09 4
2016-08-12 3
理想情況下,我希望count列為'count',然后我將保存為新的csv。
import pandas as pd
df = pd.read_csv('domains.tsv', sep='\t')
counter = df.groupby('Dates').count().rename(columns={'Domain': 'count'})
counter.to_csv('count.csv')
您將獲得count.csv,包括您當前目錄的結果。
Dates,count
2016-08-08,1
2016-08-09,4
2016-08-12,3
df['count'] = df.groupby(['Dates']).transform('count')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.