我正在努力创建一个函数,该函数可以首先计算特定列(从第0行到第n行)中每个字符串的出现次数,然后通过计算从第1行到第n行的value_counts
的mean
将其减少为一个单一值。
更准确地说,我想做的是创建一个新列['Mean'],其中每行n的值等于列['Name']的第一行到第n行的value_counts()
的mean
。
import pandas as pd
import datetime as dt
data = [["2022-11-1", 'Tom'], ["2022-11-2", 'Mike'], ["2022-11-3", 'Paul'], ["2022-11-4", 'Pauline'], ["2022-11-5", 'Pauline'], ["2022-11-6", 'Mike'], ["2022-11-7", 'Tom'], ["2022-11-8", 'Louise'], ["2022-11-9", 'Tom'], ["2022-11-10", 'Mike'], ["2022-11-11", 'Paul'], ["2022-11-12", 'Pauline'], ["2022-11-13", 'Pauline'], ["2022-11-14", 'Mike'], ["2022-11-15", 'Tom'], ["2022-11-16", 'Louise']]
df = pd.DataFrame(data, columns=['Date', 'Name'])
因此,例如,['Mean']的第6行的值应为1.25,因为Pauline出现了两次,所以计算结果应为(1 + 1 + 1 + 2 + 1)/5 = 1.25。
谢谢你的好意,
1条答案
按热度按时间8zzbczxx1#
逻辑不清楚,但假设您需要扩展的平均值计数,请用途:
输出量: