こんにちはすべてをチェックするので、私は、データフレームを持っている:ループは、辞書のキーに対して
df1
WM WH WP LC_REF
0 Tesla Doritos Spiders DT 17 1C
1 Merc Lays Contortion DT 17 1C
2 Lambo Finale NaN DT 17 1C
3 Reddy Red NaN DT 17 1C
4 Tomball Fools NaN DT 17 1C
と私は内の各項目をチェックするための最も効率的な方法を知りたいと思った辞書
example = {'Fools':'Car','Red':'Car','Merc':'Car','Tesla':'Car','Doritos':'Food','Spiders':'Food','Reddy':'Food','Tomball':'Food'}
列の値が 'Car'または 'Food'の値と一致する場合、目的の出力は次のようになります。
df2 if key matches Car
LC_REF vals Category
0 DT 17 1C Merc,Tesla WM
1 DT 17 1C Red, Fools WH
df3 if key matches Food
LC_REF vals Category
0 DT 17 1C Reddy,Tomball WM
1 DT 17 1C Doritos, Lays WH
2 DT 17 1C Spiders, Contortion WP
は、これまでのところ
df = df.groupby('LC_REF',sort=False).agg(lambda x: ','.join(x.astype(str).str.upper()).replace(' ','')).stack().rename_axis(('LC_REF','a')).reset_index(name='vals')
は、それらのグループに私のコードですが、私はそれらを正しく分離する方法に苦しんでいます。この複雑な問題の助けを借りることは素晴らしいことです。
ありがとうございます!好奇心が強い、なぜあなたは辞書を回しましたか? – codeninja
@コーデニンジャー、編集を参照してください。 – Abdou
編集していただきありがとうございます、私は今理解しています – codeninja