第二课堂笔记(二)pandas

一、载入数据,导入相关库

载入数据:

df=pd.read_csv('路径')

二、数据基本操作

1.逐块读取

格式:chunker=pd.read csv('train.csv'.chunksize=1000

for i in chunker:

print(i)

2.查看基本信息(总列数,非空值数量,数据类型等):df.info()

3.查看前/后几列数据(2)

df.head()/df.tail()

4.判断数据是否为空:df.isnull()

5.保存数据:df.to_csv()

6.查看列名:全部——df.columns某A列(2)——df['A']/df.A

7.更改表头

column={'header1':'表头1','header2':'表头}

df.rename(columns=column.inplace=True)(inplace=True时,直接在原始数据上进行重命名操作;=False时,返回重命名后新的DateFrame,原始数据不变)

8.删除/隐藏某列

删除:

del dff'A'1/df.drop(['A'], axis=1)

df=df.drop(['a'],axis=1)

隐藏:df.drop

9.数据筛选:

范围筛选:df=df[(df['Age']<50)&(df['Age']>1

0)1筛选在10-50的数据,并修改。

显示某行(2):df.loc[[行数],['列名']]

df.iloc[[行数],['列数']]

索引位置实现筛选

10.构建frame:

frame=pd.DataFrame(np.arange(12).reshape(3,4)

index=['1', '0', '2']

columns=['X', 'B','F','G']) 

11.数据排序:根据索引排序:frame.sort_index(axis=1, asxending=False, inplace='True')(axis=1为列,ascending中False为降序,默认axis=0,升序排序。inplace默认False.若想改变原数据,需写成True.以下同理)

根据值排序:frame.sort_value(by

='列名',ascending=",inplace=') (不接受axis参数)

12.算术运算(这里仅简单记录加法):+:frame_1['列名]+frame_2['列名]或使用apply函数:

df1.apply(lambda row:row['列

名']+row['列名'l,axis=1)

13.筛选极值

df.max()(若对象为DataFrame或Series)

14.describe查看数据基本信息:df.describe()

count:样本数据大小

mean:样本数据的平均值

std:样本数据的标准差

min:样本数据的最小值

25%:样本数据25%的时候的值

50%:样本数据50%的时候的值

75%:样本数据75%的时候的值

max:样本数据的最大值

15.筛选非空行/空行:

single=df[df[列名a'l.isnull()] (single为a为空的列)

single=df[dff'列名b'l.isnull()1 (dual为a不为空的列)

16.重复数据删除:

例:df.drop_duplicates('列名a',keep='first')

相同列名a保留第一条

17.数据分组:

种类分组:group=df.groupby(['列名a','列名b']).size()(若想统计各组个数就加后面的size,否则不用)

条件分组:例:df'列名a'l(要分组的列)=df['列名a].apply(lambdax(lambda函数:匿名函数,令x为列a中的元素,后续则是关于x的条件):high'if int(x)>100 else 'low' if int(x)<50 else 'mid')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值