我得到了以下数据:
carrier_name sol_carrier
aapt 702
aapt carrier 185
afrix 72
afr-ix 4
airtel 35
airtel 2
airtel dia and broadband 32
airtel mpls standard circuits 32
amt 6
anca test 1
appt 1
at tokyo 1
at&t 5041
att 2
batelco 723
batelco 2
batelco (manual) 4
beeline 1702
beeline - 01 6
beeline - 02 6
我需要得到一个唯一的carrier_name
列表,因此我做了一些基本的整理工作,因为我只想用以下代码在观察的开始或结束处保留名称,不带空格:
`carrier = pd.DataFrame(data['sol_carrier'].value_counts(dropna=False))
carrier['carrier_name'] = carrier.index
carrier['carrier_name'] = carrier['carrier_name'].str.strip()
carrier['carrier_name'] = carrier['carrier_name'].str.replace('[^a-zA-Z]', ' ')
carrier['carrier_name'] = np.where(carrier['carrier_name']==' ',np.NaN,carrier['carrier_name'])
carrier['carrier_name'] = carrier['carrier_name'].str.strip()
carrier = carrier.reset_index(drop=True)
carrier = carrier[['carrier_name','sol_carrier']]
carrier.sort_values(by='carrier_name')`
这里发生的事情是,我得到一个carrier_name
列表,但仍然得到一些重复的观察结果,例如airtel
或beeline
。我不明白为什么会发生这种情况,因为两个观察结果都是相同的,并且在观察的开始或结束处没有更多的空白,并且,这些观察结果之后是其各自的value_counts()
,因此没有理由重复它们。以下是相同的DF,但在应用上述代码后:
carrier_name sol_carrier
aapt 702
aapt carrier 185
afr ix 4
afrix 72
airtel 35
airtel 2
airtel dia and broadband 32
airtel mpls standard circuits 32
amt 6
anca test 1
appt 1
at t 5041
at tokyo 1
att 2
batelco 723
batelco 2
batelco manual 4
beeline 1702
beeline 6
beeline 6
这是因为您不聚合结果,而只是更改“carrier\u name”列中的值
要聚合结果,请调用
或者修改“数据”数据帧,然后调用
相关问题 更多 >
编程相关推荐