一文总结pandas基础及常用方法、函数

pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

1、pandas怎样读取数据

数据类型 说明 读取方法
csv 、tsv、txt 用逗号分隔,tab分隔的纯文本文件 pd.read_csv
excel 微软xls或者xlsx文件 pd.read_excel
mysql 关系型数据库表 pd.read_sql

例:

import pandas as pd
df=pd.read_csv("./DataIncome.csv")
print(df.head())  #head方法是预览数据前五条

一文总结pandas基础及常用方法、函数_第1张图片

2、pandas数据结构

2.1 DataFrame 二维数据(理解为表)

一文总结pandas基础及常用方法、函数_第2张图片

2.2 Series(一维数据,理解为python中的列表)

一文总结pandas基础及常用方法、函数_第3张图片

3、怎样查询数据

3.1、df.loc

根据行、列标签值查询
一文总结pandas基础及常用方法、函数_第4张图片
例:选择所有行的name列

print(df.loc[:, "name"])

3.2、df.iloc

对数据进行位置索引,从而在数据表中提取出相应的数据。

df.iloc[a,b]

a是行索引,b是列索引
一文总结pandas基础及常用方法、函数_第5张图片

import pandas
df = pandas.read_csv('a.csv')
print(df.iloc[1,2])

输出:95

4、新增数据列

4.1 直接赋值

import pandas
df = pandas.read_csv('a.csv')
df['test']=0 #新增列名

4.2 insert()函数

insert()函数语法:

df.insert(loc, column, value,allow_duplicates = False)

参数说明:

  • loc 必要字段,int类型数据,表示插入新列的列位置,原来在该位置的列将向右移。
  • column 必要字段,插入新列的列名。
  • value 必要字段,新列插入的值。如果仅提供一个值,将为所有行设置相同的值。可以是int,string,float等,甚至可以是series /值列表。
  • allow_duplicates 布尔值,用于检查是否存在具有相同名称的列。默认为False,不允许与已有的列名重复。

5、统计函数

函数 含义
min() 计算最小值
max() 计算最大值
sum() 求和
mean() 计算平均值
count() 计数(统计非缺失元素的个数)
size() 计数(统计所有元素的个数)
median() 计算中位数
var() 计算方差
std() 计算标准差
quantile() 计算任意分位数
cov() 计算协方差
corr() 计算相关系数
skew() 计算偏度
kurt() 计算峰度
mode() 计算众数
describe() 描述性统计(一次性返回多个统计结果)
groupby() 分组
aggregate() 聚合运算(可以自定义统计函数)
argmin() 寻找最小值所在位置
argmax() 寻找最大值所在位置
any() 等价于逻辑“或”
all() 等价于逻辑“与”
value_counts() 频次统计
cumsum() 运算累计和
cumprod() 运算累计积
pct­­_change() 运算比率(后一个元素与前一个元素的比率)

6、判断空值(数据清洗)

6.1 判断pandas中单个空值对象的方式:

  • 利用pd.isnull(),pd.isna()
  • 利用np.isnan()
  • 利用is表达式
  • 利用in表达式

6.2 判断pandas中多个空值对象的方式:

  • 可以用Series对象和DataFrame对象的any()或all()方法;
  • 可以用numpy的any()或all()方法;
  • 不可以直接用python的内置函数any()和all()方法;
  • 可以用Series或DataFrame对象的dropna()方法剔除空值;
  • 可以用Series或DataFrame对象的fillna()方法填充空值

6.3数据清洗常用函数

函数 含义
duplicated() 判断序列元素是否重复
drop_duplicates() 删除重复值
hasnans() 判断序列是否存在缺失(返回TRUE或FALSE)
isnull() 判断序列元素是否为缺失(返回与序列长度一样的bool值)
notnull() 判断序列元素是否不为缺失(返回与序列长度一样的bool值)
dropna() 删除缺失值
fillna() 缺失值填充
ffill() 前向后填充缺失值(使用缺失值的前一个元素填充)
bfill() 后向填充缺失值(使用缺失值的后一个元素填充)
dtypes() 检查数据类型
astype() 类型强制转换
pd.to_datetime 转日期时间型
factorize() 因子化转换
sample() 抽样
where() 基于条件判断的值替换
replace() 按值替换(不可使用正则)
str.replace() 按值替换(可使用正则)
str.split.str() 字符分隔

6.4数据筛选函数

函数 含义
isin() 成员关系判断
between() 区间判断
loc() 条件判断(可使用在数据框中)
iloc() 索引判断(可使用在数据框中)
compress() 条件判断
nlargest() 搜寻最大的n个元素
nsmallest() 搜寻最小的n个元素
str.findall() 子串查询(可使用正则)

7、数据排序

7.1DataFrame排序

函数:DataFrame.sort_values(by, ascending=True, inplace=False)
参数说明:

  • by:字符串或者List<字符串>,单列排序或者多列排序。
  • ascending:bool或者List,默认为True,如果为list,则会对多个列进行排序。
  • inplace:是否修改原始DataFrame。
    例如:df.sort_values(by="name")

7.2Series排序:

函数:Series.sort_values(ascending=True, inplace=False)
参数说明:

  • ascending:默认为True升序排序,为False降序排序。
  • inplace:是否修改原始Series。

例如:df["name"].sort_values(ascending=True)

8、时间序列函数

函数 含义
dt.date() 抽取出日期值
dt.time() 抽取出时间(时分秒)
dt.year() 抽取出年
dt.mouth() 抽取出月
dt.day() 抽取出日
dt.hour() 抽取出时
dt.minute() 抽取出分钟
dt.second() 抽取出秒
dt.quarter() 抽取出季度
dt.weekday() 抽取出星期几(返回数值型)
dt.weekday_name() 抽取出星期几(返回字符型)
dt.week() 抽取出年中的第几周
dt.dayofyear() 抽取出年中的第几天
dt.daysinmonth() 抽取出月对应的最大天数
dt.is_month_start() 判断日期是否为当月的第一天
dt.is_month_end() 判断日期是否为当月的最后一天
dt.is_quarter_start() 判断日期是否为当季度的第一天
dt.is_quarter_end() 判断日期是否为当季度的最后一天
dt.is_year_start() 判断日期是否为当年的第一天
dt.is_year_end() 判断日期是否为当年的最后一天
dt.is_leap_year() 判断日期是否为闰年

9、绘图函数

函数 含义
hist() 绘制直方图
plot() 可基于kind参数绘制更多图形(饼图,折线图,箱线图等)
map() 元素映射
apply() 基于自定义函数的元素级操作

10、其他函数

函数 含义
append() 序列元素的追加(需指定其他序列)
diff() 一阶差分
round() 元素的四舍五入
sort_values() 按值排序
sort_index() 按索引排序
to_dict() 转为字典
tolist() 转为列表
unique() 元素排重

你可能感兴趣的:(TensorFlow,pandas,python,数据分析)