Pandas:刪除行、列---DataFram.drop()


一、刪除DataFrame的某列或某行數據

1、刪除某列或某行數據可以用到pandas提供的方法drop

2、drop方法的用法:drop(labels, axis=0, level=None, inplace=False, errors='raise')

         --  axis為0時表示刪除行,axis為1時表示刪除列

3、常用參數如下:

 

代碼:

import pandas as pd

df1 = pd.DataFrame([['Snow','M',22],['Tyrion','M',32],['Sansa','F',18],['Arya','F',14]], columns=['name','gender','age'])
print(df1)

print('---------刪除行或列:DataFrame.drop()--------')
# drop默認對原表不生效,如果要對原表生效,需要加參數:inplace=True

print("----刪除單行----")
df2=df1.drop(labels=0)   # axis默認等於0,即按行刪除,這里表示按行刪除第0行
print(df2)

print("------刪除多行------")
# 通過labels來控制刪除行或列的個數,如果是刪多行/多列,需寫成labels=[1,3],不能寫成labels=[1:2],用:號會報錯
# 刪除指定的某幾行(非連續的)
df21=df1.drop(labels=[1,3],axis=0)   # axis=0 表示按行刪除,刪除第1行和第3行
print(df21)

# 要刪除連續的多行可以用range(),刪除連續的多列不能用此方法
df22=df1.drop(labels=range(1,4),axis=0)   # axis=0 表示按行刪除,刪除索引值是第1行至第3行的正行數據
print(df22)

print("----刪除單列----")
df3=df1.drop(labels='gender',axis=1)  # axis=1 表示按列刪除,刪除gender列
print(df3)

print("----刪除多列----")
# 刪除指定的某幾列
df4=df1.drop(labels=['gender',"age"],axis=1)  # axis=1 表示按列刪除,刪除gender、age列
print(df4)

 結果圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM