Pandas学习笔记1

import pandas as pd

1、文件读取:dataframe

df = pd.read_csv('./data/titanic.csv')   #代码目录下的data文件夹里的csv

同R语言,

df.head()     #默认前5条
df.tail()        #默认后5条
df.info    #返回当前信息
><class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId    891 non-null int64
Survived       891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            714 non-null float64              #有缺失
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(5), object(5)
df.index()            #查看索引
>RangeIndex(start=0, stop=891, step=1)
df.columns()       #返回列名
>Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
       'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],
       dtype='object')
df.dtypes            #返回类型
df.values            #返回一个array类型

2、创建一个dataframe

data = {'country':['aaa','bbb','ccc'],
              'population':[10,12,14]}                       #字典
df_data = pd.DataFrame(data)

3、取数据

age = df['Age']      
age[:5]                   #打印前五行

4、指定索引:

df = df.set_index('Name')         

5、dataframe基本信息

df.describe()

6、索引结构:
loc 用label来去定位
iloc 用position来去定位

df.iloc[0:5]
df.iloc[0:5,1:3]
df.loc['Heikkinen, Miss. Laina']
df.loc['Heikkinen, Miss. Laina':'Allen, Mr. William Henry',:]

对于bool类型:

df['Fare'] > 40

可以判断Fare列是否大于40,返回一个bool类型。
采用:

df[df['Fare'] > 40][:5]
df[df['Sex'] == 'male'][:5]
df.loc[df['Sex'] == 'male','Age'].mean()

7、groupby

df = pd.DataFrame({'key':['A','B','C','A','B','C','A','B','C'],
                  'data':[0,5,10,5,10,15,10,15,20]})

对于这样一个数据框,求key=‘A’,‘B’,‘C’时,data的平均值,若用python:

for key in ['A','B','C']:
    print (key,df[df['key'] == key].sum())

采用groupby:

df.groupby('key').sum()

显然更加简便。
另外:

import numpy as np
df.groupby('key').aggregate(np.mean)    #求均值

df.groupby('Sex')['Age'].mean()

8.数学运算

df.cov()             
df.corr()
df['Age'].value_counts()(ascending = True)      #统计个数,每个值有多少个,升序
df['Age'].value_counts(ascending = True,bins = 5)     #分成5个区间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值