10分钟快速入门Pandas
本文通过介绍一个简单的案例来带领大家快速上手Pandas。
导入库
1 | import pandas as pd # 惯例方式 |
读取本地csv文件
1 | df = pd.read_csv("Titanic.csv") |
数据大小
shape属性能够查看数据大小,返回的是一个元组:第一个元素值行记录数,第二个是字段个数
In [3]:
1 | df.shape |
Out[3]:
1 | (891, 12) |
查看头尾文件
- head:默认是前5条
- tail:默认是尾部5条
基本信息
In [6]:
1 | df.dtypes |
Out[6]:
1 | PassengerId int64 |
In [7]:
1 | df.index |
Out[7]:
1 | RangeIndex(start=0, stop=891, step=1) |
In [8]:
1 | df.columns |
Out[8]:
1 | Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp', |
选择数据
1 | df.iloc[2:5,1:4] # 切片选择 |
排序
In [15]:
1 | df.sort_values("Fare").head() # 默认升序 |
Out[15]:
下面改成了降序的形式:
缺失值情况
In [17]:
1 | df.isnull().sum() |
Out[17]:
1 | PassengerId 0 |
In [18]:
1 | df.dropna(inplace=True) # 删除缺失值 |
In [19]:
1 | df.isnull().sum() |
Out[19]:
1 | PassengerId 0 |
分组统计
In [20]:
1 | df1 = df.groupby("Sex").agg({ "Name":"nunique", "Age":np.mean, "Fare":"sum"}) |
转置功能
Pandas中有两种方式实现转置:
- T
- transpose
apply函数
In [22]:
1 | df["Sex"].value_counts() |
Out[22]:
1 | male 95 |
In [23]:
1 | # 将male变成0,female变成1 |
In [24]:
1 | df["Sex"].value_counts() |
Out[24]:
1 | 0 95 |
可视化
In [25]:
1 | plt.bar(df["Embarked"], df["Fare"]) |
1 | sns.pairplot(df[["Sex","Age","Fare"]]) |
数据输出
1 | df.to_csv("new_data.csv",index=False) # 保存到csv文件 |