第二课堂AI实践-数据处理

数据基本操作

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.更改表头:

法一:df=pd.read_csv('train.csv',names=['表头1','表头2',....],index_col='',header=0)

index_col更改索引,header确定替换列名为第几行。

 

法二:创建字典,

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

df.rename(columns=column,inplace=True)

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

8.删除/隐藏某列:

删除:del df['A']/df.drop(['A'],axis=1)

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

(当axis=0时代表行,1代表列)

 

隐藏:df.drop(['列名'],axis=1)

 

9.数据筛选:

范围筛选:df=df[(df['Age']<50)&(df['Age']>10)]筛选在10-50的数据,并修改。

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

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

(若在排序、分组、删除等操作后,要对修改后数据筛选,注意使用reset_index()重置索引。)

10.构建frame:

frame=pd.DataFrame(np.arange(12).reshape(3,4),(构建从0-11,3行4列的矩阵)

                     index=['1','0','2'],(行索引)

                     columns=['X','B','F','G'])(列索引)

对比数据结构DataFrame和Series:

DataFrame(二维)每列可以有不同的数据类型,Series(一维)仅有一种数据类型。

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['列名'],axis=1)

13.筛选极值:

1、python的max()/min()函数

max(表达式)

 

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

 

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

          df.describe()

其中各值含义:

count : 样本数据大小

mean : 样本数据的平均值

std : 样本数据的标准差

min : 样本数据的最小值

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

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

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

max : 样本数据的最大值

15.筛选非空行/空行:

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

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

16.重复数据删除:

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

(相同列名a保留第一条)

17.数据分组:

种类分组:group=df.groupby(['列名a','列名b']).size()

条件分组:df['列名a'](要分组的列)=df['列名a'].apply(lambda x:'high'if int(x)>100 else 'low' if int(x)<50 else 'mid')

lambda函数:匿名函数,令x为列a中的元素,后续则是关于x的条件

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值