pandas(补充1)

本文详细介绍了Pandas库中memory_usage(), isnull(), apply(), head(), iloc[], loc[], drop()等方法的使用技巧,以及如何通过query()方法根据特征筛选数据,适合于初学者快速掌握数据处理的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

memory_usage()方法

返回每列的内存使用情况(以字节为单位)
memory_usage()用法

检查和统计缺失值

df = pd.DataFrame({
'a':[1.2,2,3,4],
'b':list('abcd')
})
df.iat[0,0] = np.nan
print(df)

运行结果为:
     a  b
0  NaN  a
1  2.0  b
2  3.0  c
3  4.0  d

检查缺失值使用isnull()方法,所检查的对应元素返回布尔值。
any()与all()

print(df.isnull())
print("***********************")
print(df.isnull().values)
print("***********************")
# any()一个序列中满足一个True,则返回True;all()一个序列中所有值为True时,返回True,否则为False
print('缺失:', df.isnull().values.any())

运行结果为:
       a      b
0   True  False
1  False  False
2  False  False
3  False  False
***********************
[[ True False]
 [False False]
 [False False]
 [False False]]
***********************
缺失: True

apply()方法及其相关方法
apply默认axis=0,即对每列执行函数

# 每一个缺失值的布尔值为1,所以用sum()方法来统计
num_null = df.apply(lambda x: x.isnull().sum())
print(num_null)

运行结果为:
a    1
b    0

数据的选择方式

选择数据集前几行的方法

df.head(3)
df.iloc[0:3,:]
df.loc[0:2,:]

选择数据某一列的方法

df_love=pd.read_csv("exam_1.csv")
print(df_love)

运行结果为:
   height  house  car  handsome  job  is_date
0    1.80      1    0       6.5    2        1
1    1.62      1    0       5.5    0        1
2    1.71      0    1       8.5    1        1
3    1.58      1    1       6.3    1        1
4    1.68      0    1       5.1    0        0
5    1.63      1    0       5.3    1        0
6    1.78      0    0       4.5    0        0
7    1.64      0    0       7.8    2        0
8    1.65      0    1       6.6    0       -1
print(df_love.height)
或
print(df_love["height"])

运行结果为:
0    1.80
1    1.62
2    1.71
3    1.58
4    1.68
5    1.63
6    1.78
7    1.64
8    1.65
Name: height,

提取前五列的方法

print(df_love.iloc[:,0:5])
print(df_love.loc[:,"height":"job"])

丢弃某一列

# 注意要有axis=1的参数,否则会报错
print(df_love.drop("is_date",axis=1))

根据特征选择数据

df_love=pd.read_csv("exam_1.csv")
print(df_love)
print(df_love.query("is_date!=-1"))
print('******************************')
print(df_love.query("is_date==-1"))
print('******************************')
print(df_love.query("is_date==-1").values)
print('******************************')
print(type(df_love.query("is_date==-1")))
print('******************************')
print(type(df_love.query("is_date==-1").values))

运行结果为:
   height  house  car  handsome  job  is_date
0    1.80      1    0       6.5    2        1
1    1.62      1    0       5.5    0        1
2    1.71      0    1       8.5    1        1
3    1.58      1    1       6.3    1        1
4    1.68      0    1       5.1    0        0
5    1.63      1    0       5.3    1        0
6    1.78      0    0       4.5    0        0
7    1.64      0    0       7.8    2        0
8    1.65      0    1       6.6    0       -1
   height  house  car  handsome  job  is_date
0    1.80      1    0       6.5    2        1
1    1.62      1    0       5.5    0        1
2    1.71      0    1       8.5    1        1
3    1.58      1    1       6.3    1        1
4    1.68      0    1       5.1    0        0
5    1.63      1    0       5.3    1        0
6    1.78      0    0       4.5    0        0
7    1.64      0    0       7.8    2        0
******************************
   height  house  car  handsome  job  is_date
8    1.65      0    1       6.6    0       -1
******************************
[[ 1.65  0.    1.    6.6   0.   -1.  ]]
******************************
<class 'pandas.core.frame.DataFrame'>
******************************
<class 'numpy.ndarray'>

query()用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值