Python数据分析学习笔记(一)——数据加载及探索性数据分析

一、数据类型DataFrame和Series

  • DataFrame

    DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。

    help(pandas.DataFrame)   #可以用于查看对数据类型的详细说明
    
    data = {'Name': ['Susan', 'Bob', 'Ella', 'Crystal'],
          'Age': [13, 14, 15, 16],
          'Class': [1,1,3,4]
            }
    example_2 = pd.DataFrame(data)           #可以利用字典创建
    example_2
    
    #输出
          Name  Age  Class
    0    Susan   13      1
    1      Bob   14      1
    2     Ella   15      3
    3  Crystal   16      4
    

    两个DataFrame数据想加后会返回一个新的DataFrame数据,对应的行和列会相加(索引对应),没有对应的部分会返回空值NaN

  • Series
    Series序列,是一种一维的结构,由两部分组成:索引index和数值values。可以通过字典来创建Series:

    sdata = {'Susan': 13, 'Bob': 14, 'Ella': 15, 'Crystal': 16}
    example_1 = pd.Series(sdata)
    example_1
    #输出
    Susan      13
    Bob        14
    Ella       15
    Crystal    16
    

二、数据载入及初步观察

导入numpy及pandas

import numpy as np
import pandas as pd

载入数据

df = pd.read_csv('train.csv')

查看DataFrame数据每列的名称

df.columns
df.keys()
#输出
Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp','Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],dtype='object')

查看"Cabin"这列的所有值
方法1:

df['Cabin']  #方法1
df.Cabin    #方法2

对比两个csv文件的列,然后将后者多出的列删除

df1 = pd.read_csv('test_1.csv')
df1.columns
#输出
Index(['Unnamed: 0', 'PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age','SibSp', 'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked', 'a'],dtype='object')
#删除最后一列
df1.drop(['a'],axis=1,inplace=True)

删除某一列的方式汇总:

df1 = df1.drop(['a'],1)
df1.drop(['a'],axis=1,inplace=True)
df1.drop([df1.columns[-1]], axis=1,inplace=True) 
del df1(['a']) 

隐藏某几列的方式:

df.drop(['PassengerId','Name','Age','Ticket'],1) #不使用inplace = True即可

三、筛选数据

以"Age"为筛选条件,显示年龄在10岁以下的乘客信息:

df[df['Age']<10].head(5)

以"Age"为条件,将年龄在10岁以上和50岁以下的乘客信息显示出来:

midage = df[df['Age']>10 & df['Age']<50]

将midage的数据中第100行的"Pclass"和"Sex"的数据显示出来:

midage = midage.reset_index(drop=True) #重置索引,drop=True不保留原来的索引
midage.loc[[100],['Pclass','Sex']]

iloc:根据标签所在位置选择,先行后列
loc:根据标签选择,同样先行后列

midage.loc[[100,105,108],['Pclass','Name','Sex']]
midage.iloc[[100,105,108],[2,3,4]]

四、数据排序

df.sort_values(by='c')   #按照某一列的值做升序排序
df.sort_index()        #按照行索引排序
df.sort_index(axis=1, ascending=False)  #按照列索引降序排序
df.sort_values(by=['Fare','Age'])   #按照某两列的值做升序排序,先按照票价升序,再按照年龄升序
df.describe()    #观察数据的基本统计信息:数据大小、平均值、标准差等

以上学习内容来自Datawhale

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值