什么是DataFrame
Pandas中有两种基础数据类型:Series与DataFrame。Series类似于以为数组对象,由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。DataFrame则是一个表格型的数据结构,包含一组有序的咧,没列可以是不同的值类型(数值、字符串、布尔型等),DataFrame既有行索引,也有列索隐。
- 导入 Panda 库
import pandas as pd
#设置显示最多的行列,避免影响阅读
pd.set_option('display_max_rows', 7)
pd.set_option('display_max_columns', 6)
- 从csv文件中导入数据到
# 导入数据,将数据度柔道一个DataFrame中
retail_data = pd.read_csv("../data/micro_landing_page.csv")
# 展示前面几行
retail_data.head()
还支持read_excel、read_json、read_sql、read_sql_table、read_xml等方法。
- 查看DataFrame的基本属性
index = retail_data.index
columns = retail_data.columns
data = retail_data.values
输出:
index
clumns
data
查看类型:
type(index)
type(columns)
type(data)
- Series
Series就是构成DataFrame的咧,没利益额就是一个Series。一个Series是一个以为的数据类型,其中每一个元素都有一个标签,类似于NumPy中元素带标签的数组。使用如下方式访问:
retail_data['Country']
type(retail_data.Country)
即[] 或者 . 操作符。
Python中支持的大部分运算操作服都可以应用于Series:
# 数值操作
retail_data['Price']
retail_data['Price']+1
retail_data['Price']*2
retail_data['Price']>2
# 字符串比较操作
country = retail_data['Country']
#每一行于枝顶字符串比较
count == 'France'
- 链式方法
在Pandas库中,DataFrame和Series的很多操作都将返回一个新的DataFrame或Series,此时又可以对新的DataFrame和Series进行方法调用。
customers = retail_data['ID']
customers.value_counts().head()
#先统计,后只展示前几行
retail_data['ID'].value_counts().head()
retail_data['Price'].isnull()
# 统计为空的数量
retail_data['Price'].isnull().sum()
其他函数:mean()求平均值、fillna()对确实数据进行填充
retail_data['Price'].isnull().mean()
retail_data['Price'].fillna(0).isnull().mean()
注意,Pandas中对DataFrame和Series中大部分对原有数据的修改操作都是产生一个全新的Series或者DataFrame,而不是对原有数据的修改。如果想修改,只需要在函数中加上参数inplace=Trues就可以了。
索引与列的操作
获取指定列作为索引
gapminder = pd.read_csv("../data/gapminder.csv", index_col='Life expectancy')
gapminder.head()
gapminder = pd.read_csv("../data/gapminder.csv")
gapminder = gapminder.set_index('Life expectancy')
gapminder.head()
将索引重新恢复到列中
gapminder.reset_index()