Python 基于重复行创建新列
我的目标是创建一个新列,其中包含每个日期的总重复次数 之前Python 基于重复行创建新列,python,pandas,Python,Pandas,我的目标是创建一个新列,其中包含每个日期的总重复次数 之前 date 0 6/1/18 1 6/1/18 2 6/4/18 3 6/5/18 4 6/6/18 6 6/6/18 7 6/6/18 之后 date count 0 6/1/18 2 1 6/1/18 2 2 6/4/18 1 3 6/5/18 1 4 6/6/18 3 6 6/6/18 3 7 6/6/18 3 我尝试在这个网站上使用一些
date
0 6/1/18
1 6/1/18
2 6/4/18
3 6/5/18
4 6/6/18
6 6/6/18
7 6/6/18
之后
date count
0 6/1/18 2
1 6/1/18 2
2 6/4/18 1
3 6/5/18 1
4 6/6/18 3
6 6/6/18 3
7 6/6/18 3
我尝试在这个网站上使用一些类似的解决方案,以符合我的标准
# Possible format I can use, but not what I am looking for.
df.loc[df['date'] == 1, 'b'].sum()
# I changed it to this to this to no solution.
df['Count'] = df.loc[df['date'] == df['date']].sum()
也许我走错了路,但任何洞察都将不胜感激。让我们这样做吧
df['count']=df.date.groupby(df.date).transform('count')
df
date count
0 6/1/18 2
1 6/1/18 2
2 6/4/18 1
3 6/5/18 1
4 6/6/18 3
6 6/6/18 3
7 6/6/18 3
让我们做吧
df['count']=df.date.groupby(df.date).transform('count')
df
date count
0 6/1/18 2
1 6/1/18 2
2 6/4/18 1
3 6/5/18 1
4 6/6/18 3
6 6/6/18 3
7 6/6/18 3
如果你想摆脱重复的,但保持计数
import pandas as pd
data = ['6/1/18', '6/1/18', '6/4/18', '6/5/18', '6/6/18', '6/6/18','6/6/18']
df = pd.DataFrame({'Date': data})
df = df.pivot_table(columns=['Date'], aggfunc='size').reset_index()
df.rename(columns={0: 'Count'})
Date Count
0 6/1/18 2
1 6/4/18 1
2 6/5/18 1
3 6/6/18 3
如果你想摆脱重复的,但保持计数
import pandas as pd
data = ['6/1/18', '6/1/18', '6/4/18', '6/5/18', '6/6/18', '6/6/18','6/6/18']
df = pd.DataFrame({'Date': data})
df = df.pivot_table(columns=['Date'], aggfunc='size').reset_index()
df.rename(columns={0: 'Count'})
Date Count
0 6/1/18 2
1 6/4/18 1
2 6/5/18 1
3 6/6/18 3
你的答案似乎与OP想要的不匹配“之后的OPs”样本对我来说没有意义,这是。你的答案似乎与OP想要的不匹配“之后的OPs”样本对我来说没有意义,这是。没有解决方案。这是什么意思?请提供,请参阅。创建一个新列,其中包含每个日期的总重复次数。那么,为什么要保持相同的格式,而不仅仅是唯一的日期?没有解决方案。这是什么意思?请提供,请参阅。创建一个新列,其中包含每个日期的总重复次数为什么要保持相同的格式,而不仅仅是唯一的日期?