【20211029】【Python】删除 DataFrame 中的某行、某列

pandas 中的 drop 方法是很明智的数据清理的方法,它的好处在于:它不改变原有的 df 中的数据,而是返回另一个新的 DataFrame 来存放删除后的数据。

一、drop 的用法

import pandas as pd
import numpy as np

a = list(range(1, 11))
a_reshape = np.array(a).reshape(2, 5).T
b = pd.DataFrame(a_reshape)
print(b)

【20211029】【Python】删除 DataFrame 中的某行、某列

1. df.drop([row_num], axis=0):删除 DataFrame 某一行(如果不指定axis,那么默认axis=0)

c = b.drop(0, axis=0)
print(c)

【20211029】【Python】删除 DataFrame 中的某行、某列

2. df.drop([row_num], axis=1):删除 DataFrame 某一列

d = b.drop(0, axis=1)
print(d)

【20211029】【Python】删除 DataFrame 中的某行、某列

(参考:pandas DataFrame行或列的删除方法的实现示例

二、python 中数据清理的常见方法

1. 删除无效项

(1)df[df.isnull()] 和 df[df.notnull()]:df.isnull() 和 df.notnull() 返回的是一个 true 或 false 的 Series对象,所以这种方式可以筛选出我们需要的特定数据。

(2)df.dropna():将所有含有 nan 项的 row 删除(默认:axis=0) 。

(3)df.dropna(axis=1, thresh=3):将在列方向上有三个为 nan 的列删除。

(4)df.dropna(how=’ALL’):将全部项都是 nan 的 row 删除。

2. 填充空缺项

(1)df.fillna(0)

(2)df.fillna({1:0, 2:0.5}):对第一列 nan 值赋0,第二列赋值 0.5;

(3)df.fillna(method=’ffill’):在列方向上用前一个值赋值给 nan。

(参考:python进行数据清理之pandas中的drop用法

Tips:

1. 注意:drop() 方法不改变原有的 df 数据!

b.drop(0, axis=1)
print(b)

【20211029】【Python】删除 DataFrame 中的某行、某列

Original: https://blog.csdn.net/weixin_40583722/article/details/121033789
Author: Satisfying
Title: 【20211029】【Python】删除 DataFrame 中的某行、某列

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/673954/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球