Python数据分析三剑客之一 :Pandas工具库

Python 数据清洗与处理

Pandas是基于Numpy构建的库,在数据处理方面可以把它理解为numpy加强版,同时Pandas也是一项开源项目 。

不同于Numpy的是,Pandas拥有种数据结构:Series  一维数据、DataFrame  二维数据(表格)

head()  #默认前10行数据

tail()  #默认后10 行数据

一、清除数据

1、用数字0填充空值:
df.fillna(value=0)

2、使用列prince的均值对NA进行填充:
df[‘prince’].fillna(df[‘prince’].mean())


3、清楚city字段的字符空格:
df[‘city’]=df[‘city’].map(str.strip)

4、大小写转换:
df[‘city’]=df[‘city’].str.lower()

5、更改数据格式:
df[‘price’].astype(‘int’)

6、更改列名称:
df.rename(columns={‘category’: ‘category-size’})

7、删除后出现的重复值:
df[‘city’].drop_duplicates()

8 、删除先出现的重复值:
df[‘city’].drop_duplicates(keep=‘last’)

9、数据替换:
df[‘city’].replace(‘sh’, ‘shanghai’)

二、数据提取

主要用到的三个函数:loc,iloc和ix,loc函数按标签值进行提取,iloc按位置进行提取,ix可以同时按标签和位置进行提取。

1、按索引提取单行的数值

df_inner.loc[3]

2、按索引提取区域行数值

df_inner.iloc[0:5]

3、重设索引

df_inner.reset_index()

4、设置日期为索引
df_inner=df_inner.set_index(‘date’)

5、提取4日之前的所有数据
df_inner[:‘2013-01-04’]

6、使用iloc按位置区域提取数据

df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。

7、适应iloc按位置单独提起数据

df_inner.iloc[[0,2,5],[4,5]] #提取第0、2、5行,4、5列

8、使用ix按索引标签和位置混合提取数据

df_inner.ix[:‘2013-01-03’,:4] #2013-01-03号之前,前四列数据

9、判断city列的值是否为北京
df_inner[‘city’].isin([‘beijing’])

10、判断city列里是否包含beijing和shanghai,然后将符合条件的数据提取出来

df_inner.loc[df_inner[‘city’].isin([‘beijing’,‘shanghai’])]
11、提取前三个字符,并生成数据表
pd.DataFrame(category.str[:3])

merge、append、join、concat   数据合并  

set_index(‘id’)    设置索引

sort_values(by=[‘age’])   按照特定列的值排序

sort_index()   按照索引列排序

*[‘group’] = np.where(df_inner[‘price’] > 3000,‘high’,‘low’)   如果prince列的值>3000,group列显示high,否则显示low

猜你喜欢

转载自www.cnblogs.com/harsin/p/11766165.html