#导入数据
import numpy as np
import pandas as pd
df=pd.DataFrame(pd.read_csv('name.csv',header=1))
df=pd.DataFrame(pd.read_excel('name.xlsx'))
df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006],
"date":pd.date_range('20130102', periods=6),
"city":['Beijing ', 'SH', ' guangzhou ', 'Shen zhen', 'shanghai', 'BEIJING '],
"age":[23,44,54,32,34,32],
"category":['100-A','100-B','110-A','110-C','2 10-A','130-F'],
"price":[1200,np.nan,2133,5433,np.nan,4432]},
columns =['id','date','city','category','age', 'price'])
#查看数据表的维度
df.shape
(6, 6)
#数据表信息
df.info()
#查看数据表各列格式
df.dtypes
#检查数据空值
df.isnull()
#检查特定列空值
df['price'].isnull()
#查看city列中的唯一值 df['city'].unique()
类似与Excel中删 除重复项后的结果。
#查看数据表的值
df.values
#查看列名称
df.columns
#查看前3行数据
df.head(3)
#查看最后3行
df.tail(3)
#删除数据表中含有空值的行
df.dropna(how='any')
#使用数字0填充数据表中空值
df.fillna(value=0)
#使用price均值对NA进行填充
df['price'].fillna(df['price'].mean())
#清除city字段中的字符空格
df['city']=df['city'].map(str.strip)
city列大小写转换
df['city']=df['city'].str.lower()
#更改数据格式
df['price'].astype('int')
#更改列名称
df.rename(columns={'category': 'category-size'})
#删除后出现的重复值
df['city'].drop_duplicates()
#删除先出现的重复值
df['city'].drop_duplicates(keep='last')
#数据替换
df['city'].replace('sh', 'shanghai')
在Python中可以 通过merge函数一次性实现。下面建立df1数据表,用于和df数据表进 行合并。
df1=pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006,1007,1008],
"gender":['male','female','male','female','male ','female','male','female'],
"pay":['Y','N','Y','Y','N','Y','N','Y'],
"m-point":[10,12,20,40,40,40,30,20]})
使用merge函数对两个数据表进行合并,合并的方式为inner,将 两个数据表中共有的数据匹配到一起生成新的数据表。并命名为 df_inner。
#数据表匹配合并
df_inner=pd.merge(df,df1,how='inner')
除了inner方式以外,合并的方式还有left,right和outer方式。
节选自《从Excel到Python——数据分析进阶指南》,如有侵权,请联系作者删除。