我正在处理名为“公司”的数据框列(您可以在下面看到它的样子)。我想用这个专栏来创建另一个名为“occurrences”的专栏。我的目标是根据公司名称出现的次数顺序填充出现列。我希望它看起来像这样
company | occurrences
company 1 | 1
company 1 | 2
company 1 | 3
company 2 | 1
company 2 | 2
company 3 | 1
company 4 | 1
company 4 | 2
company 5 | 1
company 5 | 2
company 5 | 3
company 5 | 4
不幸的是,我在这样做时遇到了很多麻烦。这是我开始尝试的尝试,但首先,它创建了一个无限循环,我无法弄清楚如何摆脱它,其次,即使它有效,这也会错误地填充值。除此之外,嵌套在 while 语句中的 if 语句返回的是整个列,而不是公司的最终计数。
def occurrences(companies):
occurrences = []
for i in range(len(companies)):
x = 0
occurrences.append(x)
while str(companies[i]) == str(companies[i+1]):
x = x+1
occurrences.append(x)
if str(companies[i]) is not str(companies[i+1]):
x = companies.str.count(companies[i])
occurrences.append(x)
return round_number
occurrences(companies)
我知道“for i in range(len(companies))”这一行在列中向下迭代,并且我知道“str(companies[i]) == str(companies[i+1])”确实比较了公司名称. 我相信其他一切都是完全错误的。任何建议将不胜感激。
开心每一天1111
泛舟湖上清波郎朗
相关分类