目录
1导入pandas库,读入csv文件, .read_csv()函数
2 pd.head() , df.info(),df.index,df.columns,df.values
②age.mean(),age.max(),age.min()
2 定位两个列,取前5条数据,Age,和Fare列中前5个数据
3 .loc --- 通过标签获取定位 .iloc ---通过位置获取定位
3 可以结合numpy一起使用,.aggregate()函数,如下:
1、pandas中.sum()默认是按列求和,如果需要按行求和,可以增加参数axis=1
2 df.mean(),.max(),min(),.median()
一、基本操作
1导入pandas库,读入csv文件, .read_csv()函数
#导入pandas库
import pandas as pd
#读取csv文件
df = pd.read_csv('泰坦尼克号数据.csv')
2 pd.head() , df.info(),df.index,df.columns,df.values
pd.head()---获取默认显示df前5条信息,可以传参数,显示想要的信息数量
df.info()---显示当前df信息
df.index---获取df的索引值
df.columns---获取列名字值
df.values---获取df中的值,以一个二维矩阵显示
① pd.head()
In [25]:
df[['PassengerId','Survived','Pclass','Name']].head()
Out[25]:
PassengerId Survived Pclass Name 0 1 0 3 Braund, Mr. Owen Harris 1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... 2 3 1 3 Heikkinen, Miss. Laina 3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) 4 5 0 3 Allen, Mr. William Henry
②df.info()
#显示各列字段名称;非空值的数量,每列的数据类型,以及内存占用情况
In [24]: 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) memory usage: 83.7+ KB
③获取索引值,列名称,df的数据值
#获取df的索引值
In [11]:
df.index
Out[11]:
RangeIndex(start=0, stop=891, step=1)
#获取df的列名称
In [12]:
df.columns
Out[12]:
Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],
dtype='object')
#获取df中的值,以一个二维矩阵显示
In [14]:
df.values
Out[14]:
array([[1, 0, 3, ..., 7.25, nan, 'S'],
[2, 1, 1, ..., 71.2833, 'C85', 'C'],
[3, 1, 3, ..., 7.925, nan, 'S'],
...,
[889, 0, 3, ..., 23.45, nan, 'S'],
[890, 1, 1, ..., 30.0, 'C148', 'C'],
[891, 0, 3, ..., 7.75, nan, 'Q']], dtype=object)
#获取矩阵中的第一列值,pandas中object表示 字符串类型
In [15]:
df.values[0]
Out[15]:
array([1, 0, 3, 'Braund, Mr. Owen Harris', 'male', 22.0, 1, 0,
'A/5 21171', 7.25, nan, 'S'], dtype=object)
3 .set_index()
索引可以自己指定,.set_index(),inplace参数为True时,表示该操作改变原来的df
In [35]:
df.set_index('Name',inplace = True)
In [38]:
age = df['Age'][:5]
#此时age为一个Series对象,索引值为Name,且显示前5条数据
Out[38]:
Name
Braund, Mr. Owen Harris 22.0
Cumings, Mrs. John Bradley (Florence Briggs Thayer) 38.0
Heikkinen, Miss. Laina 26.0
Futrelle, Mrs. Jacques Heath (Lily May Peel) 35.0
Allen, Mr. William Henry 35.0
Name: Age, dtype: float64
#age为Series对象,使用Name作为索引值,使用Name获取对应年龄
In [39]:
age['Braund, Mr. Owen Harris']
Out[39]:
22.0
4. Series对象运算以及一些统计指标
①加 10 相当于对每个元素都加上10
In [40]:
age = age + 10
age
Out[40]:
Name
Braund, Mr. Owen Harris 32.0
Cumings, Mrs. John Bradley (Florence Briggs Thayer) 48.0
Heikkinen, Miss. Laina 36.0
Futrelle, Mrs. Jacques Heath (Lily May Peel) 45.0
Allen, Mr. William Henry 45.0
Name: Age, dtype: float64
②age.mean(),age.max(),age.min()
In [41]:
age.mean()
Out[41]:
41.2
In [42]:
age.max()
Out[42]:
48.0
In [43]:
age.min()
Out[43]:
32.0
③.describe()统计指标
In [44]:
df.describe()
Out[44]:
PassengerId Survived Pclass Age SibSp Parch Fare count 891.000000 891.000000 891.000000 714.000000 891.000000 891.000000 891.000000 mean 446.000000 0.383838 2.308642 29.699118 0.523008 0.381594 32.204208 std 257.353842 0.486592 0.836071 14.526497 1.102743 0.806057 49.693429 min 1.000000 0.000000 1.000000 0.420000 0.000000 0.000000 0.000000 25% 223.500000 0.000000 2.000000 20.125000 0.000000 0.000000 7.910400 50% 446.000000 0.000000 3.000000 28.000000 0.000000 0.000000 14.454200 75% 668.500000 1.000000 3.000000 38.000000 1.000000 0.000000 31.000000 max 891.000000 1.000000 3.000000 80.000000 8.000000 6.000000 512.329200
二、索引
In [46]:
import pandas as pd
df = pd.read_csv('泰坦尼克号数据.csv')
df.head()
Out[25]:
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked 0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S 1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C 2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S 3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S 4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S