1
以下のプロセスを実行するためのより良い方法を探したいと思います。pandasデータフレームを使用したPythonでの明示的なfor-loopの回避
#import packages
import pandas as pd
私はパンダのデータフレームを定義しました。
# Create dataframe
data = {'name': ['Jason', 'Jason', 'Tina', 'Tina', 'Tina'],
'reports': [4, 24, 31, 2, 3],
'coverage': [25, 94, 57, 62, 70]}
df = pd.DataFrame(data)
データフレームの作成後、データフレームに追加の列を追加します。この列には、各名前のカバレッジ列の値に基づいたランクが別々に含まれています。
#Add column with ranks based on 'coverage' for every name separately.
df_end = pd.DataFrame()
for person_names in df.groupby('name').groups:
one_name = df.groupby('name').get_group(person_names)
one_name['coverageRank'] = one_name['coverage'].rank()
df_end = df_end.append(one_name)
この簡単な作業を簡単に行うことは可能ですか?おそらくfor-loopを使用しないでしょうか?