在python中進行資料處理,經常會遇到有些元素內容是不需要的。需要進行刪除或者替換。本篇就詳細**一下各種資料型別(series,dataframe)下的刪除方法
隨機建立乙個dataframe資料
import pandas as pd
import numpy as np
data=pd.dataframe(np.random.randint(10,size=(5,3)),columns=['a','b','c'])
>>>
a b c
0 3 8 2
1 9 9 5
2 4 5 1
3 2 7 5
4 1 2 8
series:
isin反函式刪除不需要的列部分元素,適合大批程式設計客棧量:
s資料型別直接使用isin會選出該列包含的指定內容,我們的需求是刪除指定內容就需要用到isin的反函式。但是python目前沒有類似isnotin這種函式,所以我們需要使用-號來實現isnotin的方法
!=比較運算子方式,適合少量或者用作與同時滿足a條件與b條件的情況
isin:
series的場景
print(data['c'][data['c'].isin([1])])
>>>
2 1name: c, dtype: int64
print(data['c'][-data['c'].isin([1])])
>>>
0程式設計客棧 2
1 53 5
4 8name: c, dty程式設計客棧pe: int64
print(data['c'][-data['c'].isin([1,2])])
>>>
1 53 5
4 8name: c, dtype: int64
dataframe場景:程式設計客棧
print(data[-data.isin([1,2])])#按series邏輯操作df發現會出現nan並沒有刪除掉
>>>
a b c
0 3.0 8.0 nan
1 9.0 9.0 5.0
2 4.0 5.0 nan
3 nan 7.0 5.0
4 nan nan 8.0
print(data[-data.isin([1,2])].dropna())#我們只需要再加乙個dropna刪除空值就好了
>>>
a b c
1 9.0 9.0 5.0
!=比較運算子:
series的場景:
print(data['c'][data['c']!=1])
>>>
0 21 5
3 54 8
name: c, dtype: int64
print(data['c'][(data['c']!=1)&((data['c']!=2))])
>>>
1 53 5
4 8name: c, dtype: int64
dataframe場景:
分別刪除a與b不同條件的資料
print(data[(data['a']!=1)&(data['c']!=2)]
>>>
a b c
1 9 9 5
2 4 5 1
3 2 7 5
print(data[(data!=1)&(data!=2)].dropna()) #與isin原理相同
a b c
1 9.0 9.0 5.0
本文標題: python刪除指定列或多列單個或多個內容例項
本文位址:
python刪除指定列或多列單個或多個內容
在python中進行資料處理,經常會遇到有些元素內容是不需要的。需要進行刪除或者替換。本篇就詳細 一下各種資料型別 series,dataframe 下的刪除方法 隨機建立乙個dataframe資料 import pandas as pd import numpy as np data pd.dat...
python多列排序 python多列排序
python的sort 和sorted 函式可以進行多列排序。在乙個文字或者列表有多列時,這是乙個很好用的技巧。首先,看一下待排序的資料 這是乙個csv檔案,它有6列,我們需要首先對第一列排序,再對第六列排序 46896961,192100485,1,95wf5sm,1863,2014 12 18 ...
mysql 多列約束 mysql多列指定唯一約束
demo 如何為mysql中的多列指定唯一約束?mysql sql server 拉丁的傳說 2019 06 03 10 25 56 如何為mysql中的多列指定唯一約束?我有張桌子 table votes id,user,email,address,primary key id 現在我想讓列使用者...