一、数据载入及初步观察
读取数据是进行数据分析的第一步,pandas中通常使用read_csv来进行数据读取:
- 直接读取
train_data = pd.read_csv('./train.csv')
- 逐块读取
train_data = pd.read_csv('./train.csv', chunksize=5)
- 修改列名
train_data.columns = ['乘客ID','是否幸存','乘客等级','乘客姓名','性别','年龄','堂兄弟/妹个数','父母与小孩个数','船票信息','票价','客舱','登船港口']
- 查看数据的基本信息
train_data.info()
- 保存数据
train_data.to_csv('./train_chinese1.csv')
二、Pandas基础
Pandas基于Numpy构建,是进行数据处理的一个十分重要的模块,它有两个主要的数据结构:Series和DataFrame。Series是一种类似于一维数组的对象。它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成,它的一个十分有用的作用是能够根据索引自动对齐数据。DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共同用一个索引)。
- 读取列名
df.columns
- 删除多余的列
del test_data['a']
test_data.head(3)
- 隐藏列元素
test_data.drop(['PassengerId','Name','Age','Ticket'],axis=1).head(3)
- 筛选
df1 = df.loc[df.Age<10]
midage = df.loc[(df.Age>10) & (df.Age<50)]
midage = midage.reset_index(drop=True)
df2 = midage.loc[[100],['Pclass','Sex']]
df3 = midage.loc[[100,105,108],['Pclass','Name','Sex']]
df4 = midage.iloc[[100,105,108],[2,3,4]]
三、探索性数据分析
日常生活中碰到的大部分数据都是类似于DataFrame表的形式,Pandas中提供了一些函数可以对DataFrame做一些基本的处理,有助于我们观察理解数据。
- 生成DataFrame
df1 = pd.DataFrame(np.arange(8).reshape((2,4)),index = [2,1],columns = ['d', 'a', 'b', 'c'])
- 排序
df3 = df1.sort_index()
df5 = df1.sort_index(axis=1,ascending=False)
df6 = df1.sort_values(by=['a','b'],ascending=False)
- 数据相加
df['家族人数'] = df['兄弟姐妹个数']+df['父母子女个数']
df_1 = df.sort_values(by='家族人数',ascending=False)
- 查看统计信息
df.describe()
|