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'>