第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何計算數據框列中重復值的頻率?

如何計算數據框列中重復值的頻率?

白衣非少年 2021-12-09 10:37:20
我在數據框中有一列是UC      WRV001    A, B, C, nan, A, C, DC001    nan, C, D, A, nan, AC002    C, B, B, A, A, AC003    A, C, A, C, B, nan我不確定我做錯了什么,但我無法擺脫nans。在此列中,我想要一個不同的列,或一個字典,它可以為我提供 .csv 中不同值的頻率計數WR。UC     WR CountV001  {A: 2, B:1, C:2, D:1}C001  {A:2, C:1, D:1}C002  {A:3, B:2, C:1}C003  {A:2, B:1, C:2}或類似的字典。謝謝!:)
查看完整描述

3 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

首先忽略nan條目,我的方法是:


df['WR Count'] = df.WR.str.replace(' ', '').str.split(',').apply(Counter)


#                          WR                                    WR Count

# UC                                                                                                        

# V001  A, B, C, nan, A, C, D  {'A': 2, 'B': 1, 'C': 2, 'nan': 1, 'D': 1}                               

# C001   nan, C, D, A, nan, A          {'nan': 2, 'C': 1, 'D': 1, 'A': 2}                               

# C002       C, B, B, A, A, A                    {'C': 1, 'B': 2, 'A': 3}                           

# C003     A, C, A, C, B, nan          {'A': 2, 'C': 2, 'B': 1, 'nan': 1} 

請注意,如果您確定分隔符始終為 ', ',那么您可以對其進行硬編碼,這會導致命令更短:


df['WR Count'] = df.WR.str.split(', ').apply(Counter)


查看完整回答
反對 回復 2021-12-09
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

只是不要將dict放入單元格中pandas,這將使許多內置pandas的好功能不再起作用


df.set_index('UC').WR.\

 str.split(', ',expand=True).\

    stack().str.get_dummies().sum(level=0).drop('nan',1)

      A  B  C  D

UC              

V001  2  1  2  1

C001  2  0  1  1

C002  3  2  1  0

C003  2  1  2  0


查看完整回答
反對 回復 2021-12-09
?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

要將值作為字典獲取,您還可以嘗試:

df['WR Count'] = df['WR'].apply(lambda x: dict(Counter(x.split(', ')))


查看完整回答
反對 回復 2021-12-09
  • 3 回答
  • 0 關注
  • 289 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號