【问题标题】:Loop through cell range (Every 3 cells) and add ranking to it循环遍历单元格范围(每 3 个单元格)并为其添加排名
【发布时间】:2020-01-30 10:36:02
【问题描述】:

问题是我正在尝试为该列中的每 3 个单元格进行排名 使用熊猫。 例如:

This is the outcome I want 我不知道怎么做。

我尝试过这样的事情:

for i in range(df.iloc[1:],df.iloc[,:],3):
counter = 0
i['item'] += counter + 1

代码完全错误,但我需要范围方面的帮助并将 df.iloc 放在 pandas 的括号中。

【问题讨论】:

标签: python pandas loops range cell


【解决方案1】:

这符合要求吗?

import pandas as pd

df = pd.DataFrame()
df['Item'] = ['shoes','shoes','shoes','shirts','shirts','shirts']

df2 = pd.DataFrame()
for i, item in enumerate(df['Item'].unique(), 1):
  df2.loc[i-1,'rank'] = i
  df2.loc[i-1, 'Item'] = item

df2['rank'] = df2['rank'].astype('int')
print(df)
print("\n")
print(df2)

df = df.merge(df2, on='Item', how='inner')
print("\n")
print(df)

【讨论】:

  • 但我不希望它按字母顺序排列。我想要它的初始行。
猜你喜欢
  • 1970-01-01
  • 2018-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 2015-01-07
  • 2020-06-15
  • 1970-01-01
相关资源
最近更新 更多