pandas 實現兩個dataframe相減的方式

達達愛吃肉發表於2020-12-29

方式一

a=np.array([['北京','北方','一線','非沿海'],['杭州','南方','二線','非沿海'],['深圳','南方','一線','沿海'],['煙臺','北方','三線','沿海']])
df1=pd.DataFrame(a,index=[1,2,3,4],columns=['城市','地理','級別','是否沿海'])
	城市	地理	級別	是否沿海
1	北京	北方	一線	非沿海
2	杭州	南方	二線	非沿海
3	深圳	南方	一線	沿海
4	煙臺	北方	三線	沿海

假如我們把一線城市的資訊拿出來

city_level_1_data = df1[df1['級別'].isin(['一線'])]

現在我們想直接拿到df1中除了city_level_1_data的全部資料

# 我們能想到的怎麼做呢
df1 - city_level_1_data

結果是當然不行,沒辦法只能相個辦法。

city_level_1_index = city_level_1_data.index.to_list()
[1, 3]

找到city_level_1_data 的索引就好辦了

df1[~df1.index.isin(city_level_1_index)]
	城市	地理	級別	是否沿海
2	杭州	南方	二線	非沿海
4	煙臺	北方	三線	沿海

相關文章