Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于重复行创建新列_Python_Pandas - Fatal编程技术网

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”样本对我来说没有意义,这是。没有解决方案。这是什么意思?请提供,请参阅。创建一个新列,其中包含每个日期的总重复次数。那么,为什么要保持相同的格式,而不仅仅是唯一的日期?没有解决方案。这是什么意思?请提供,请参阅。创建一个新列,其中包含每个日期的总重复次数为什么要保持相同的格式,而不仅仅是唯一的日期?