溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何對Pandas中DataFrame數(shù)據(jù)進行刪除

發(fā)布時間:2021-09-26 09:41:49 來源:億速云 閱讀:4243 作者:柒染 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)如何對Pandas中DataFrame數(shù)據(jù)進行刪除,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

接下來介紹PandasDataFrame數(shù)據(jù)刪除,主要使用dropdel方式。

# drop函數(shù)的參數(shù)解釋
drop(
        self,
        labels=None, # 就是要刪除的行列的標簽,用列表給定;
        axis=0, # axis是指處哪一個軸,0為行(默認),1為列;
        index=None, # index是指某一行或者多行
        columns=None, # columns是指某一列或者多列
        level=None, # level是指等級,針對多重索引的情況;
        inplace=False, # inplaces是否替換原來的dataframe;
        errors="raise",
)
axis=0或者 和 index或columns 指定行列只需要使用一組就行

1.根據(jù)默認的行列索引操作

示例數(shù)據(jù)

import numpy as np
import pandas as pd
# 生成隨機數(shù)組-5行5列
df = pd.DataFrame(np.random.rand(5,5))
print(df)

數(shù)據(jù)展示

  0         1         2         3         4
0  0.760489  0.074633  0.788416  0.087612  0.560539
1  0.758450  0.599777  0.384075  0.525483  0.628910
2  0.386808  0.148106  0.742207  0.452627  0.775963
3  0.662909  0.134640  0.186186  0.735429  0.459556
4  0.328694  0.269088  0.331404  0.835388  0.899107

1.1行刪除

[1]刪除單行

# 刪除單行,刪除第2行
df.drop(df.index[1],inplace=True) # inplace=True 原地修改
print(df)

執(zhí)行結(jié)果:

          0         1         2         3         4
0  0.605764  0.234973  0.566346  0.598105  0.478153
2  0.383230  0.822174  0.228855  0.743258  0.076701
3  0.875287  0.576668  0.176982  0.341827  0.112582
4  0.205425  0.898544  0.799174  0.000905  0.377990

[2]刪除不連續(xù)多行

# 刪除不連續(xù)多行,刪除第2和第4行
df.drop(df.index[[1,3]],inplace=True)
print(df)

執(zhí)行結(jié)果:

          0         1         2         3         4
0  0.978612  0.556539  0.781362  0.547527  0.706686
2  0.845822  0.321716  0.444176  0.053915  0.296631
4  0.617735  0.040859  0.129235  0.525116  0.005357

[3]刪除連續(xù)多行

# 刪除連續(xù)多行
df.drop(df.index[1:3],inplace=True) # 開區(qū)間,最后一個索引號不計算在內(nèi)
print(df)

執(zhí)行結(jié)果:

          0         1         2         3         4
0  0.072891  0.926297  0.882265  0.971368  0.567840
3  0.163212  0.546069  0.360990  0.494274  0.065744
4  0.752917  0.242112  0.526675  0.918713  0.320725

1.2列刪除

列的刪除可以使用deldrop兩種方式,del df[1] # 刪除第2列,該種方式為原地刪除,本文具體講解drop函數(shù)刪除。

[1]刪除指定列

df.drop([1,3],axis=1,inplace=True) # 指定軸為列
# df.drop(columns=[1,3],inplace=True) # 直接指定列

執(zhí)行結(jié)果:

          0         2         4
0  0.592869  0.123369  0.815126
1  0.127064  0.093994  0.332790
2  0.411560  0.118753  0.143854
3  0.965317  0.267740  0.349927
4  0.688604  0.699658  0.932645

[2]刪除連續(xù)列

df.drop(df.columns[1:3],axis=1,inplace=True) #指定軸
# df.drop(columns=df.columns[1:3],inplace = True) # 指定列
print(df)

執(zhí)行結(jié)果:

          0         3         4
0  0.309674  0.974694  0.660285
1  0.677328  0.969440  0.953452
2  0.954114  0.953569  0.959771
3  0.365643  0.417065  0.951372
4  0.733081  0.880914  0.804032

2.根據(jù)自定義的行列索引操作

示例數(shù)據(jù)

df = pd.DataFrame(data=np.random.rand(5,5))
df.index = list('abcde')
df.columns = list('一二三四五')
print(df)

數(shù)據(jù)展示

  一         二         三         四         五
a  0.188495  0.574422  0.530326  0.842489  0.474946
b  0.912522  0.982093  0.964031  0.498638  0.826693
c  0.580789  0.013957  0.515229  0.795052  0.859267
d  0.540641  0.865602  0.305256  0.552566  0.754791
e  0.375407  0.236118  0.129210  0.711744  0.067356

2.1行刪除

[1]刪除單行

df.drop(['b'],inplace=True)
print(df)

執(zhí)行結(jié)果:

          一         二         三         四         五
a  0.306350  0.622067  0.030573  0.490563  0.009987
c  0.672423  0.071661  0.274529  0.400086  0.263024
d  0.654204  0.809087  0.066099  0.167290  0.534452
e  0.628917  0.232629  0.070167  0.469962  0.957898

[2]刪除多行

df.drop(['b','d'],inplace=True)
print(df)

執(zhí)行結(jié)果:

          一         二         三         四         五
a  0.391583  0.509862  0.924634  0.466563  0.058414
c  0.802016  0.621347  0.659215  0.575728  0.935811
e  0.223372  0.286116  0.130587  0.113544  0.910859 

2.2列刪除

[1]刪除單列

df.drop(['二'],axis=1,inplace=True)# 刪除單列
print(df)

執(zhí)行結(jié)果:

          一         三         四         五
a  0.276147  0.797404  0.184472  0.081162
b  0.630190  0.328055  0.428668  0.168491
c  0.979958  0.029032  0.934626  0.106805
d  0.762995  0.003134  0.136252  0.317423
e  0.137211  0.116607  0.367742  0.840080

[2]刪除多列

df.drop(['二','四'],axis=1,inplace=True) # 刪除多列
# df.drop(columns=['二','四'],inplace=True) # 刪除多列
print(df)

執(zhí)行結(jié)果:

          一         三         五
a  0.665647  0.709243  0.019711
b  0.920729  0.995913  0.490998
c  0.352816  0.185802  0.406174
d  0.136414  0.563546  0.762806
e  0.259710  0.775422  0.794880

看完上述內(nèi)容,你們對如何對Pandas中DataFrame數(shù)據(jù)進行刪除有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI