pandas 是 python 的数据分析处理库
import pandas as pd

1、读取CSV、TXT文件

foodinfo = pd.read_csv("pandas_study.csv", encoding = "utf-8")

2、查看前N条、后N条信息

foodinfo.head(N)
foodinfo.tail(N)

3、查看数据框的格式,是DataFrame还是ndarray

print(type(foodinfo))
# 结果:<class 'pandas.core.frame.DataFrame'>

4、查看有哪些列

foodinfo.columns

5、查看有几行几列

foodinfo.shape

6、打印某一行、某几行数据

foodinfo.loc[0]
foodinfo.loc[0:2]
foodinfo.loc[[2, 5, 10]] #注意里面是一个数组

7、打印某一列、某几列数据

foodinfo["dti"]
foodinfo[["int_rate", "dti"]] #注意里面是一个数组
# 或者:
columns = ["int_rate", "dti"]
foodinfo[columns]

8、打印所有列的数据类型

foodinfo.dtypes

9、对列的一些相关操作

col_columns = foodinfo.columns.tolist()
new_columus = [] for c in col_columns:
if c.endswith("s"):
new_columus.append(c)
print(c) foodinfo[new_columus]

10、加减乘除:将每行都乘以100(加 减 乘 除 一样)

foodinfo[["int_rate", "dti"]] * 100

11、增加一列

new_col = foodinfo["int_rate"] * 100
foodinfo["new_col"]= new_col

12、列之间的运算

foodinfo["dti"] * foodinfo["int_rate"]

13、查看列的最大值、最小值、平均值

foodinfo["int_rate"].max()
foodinfo["int_rate"].min()
foodinfo["int_rate"].mean()

14、按某个字段排序 - 升序

# inplace是否新建一个dataframe,True不需要
foodinfo.sort_values("int_rate_one", inplace = True) # 按某个字段排序 - 降序
foodinfo.sort_values("int_rate_one", inplace = True, ascending = False)

15、查看数据框的一些属性:最大、最小、均值、四分位数等

foodinfo.describe()

16、空值相关的操作

pin = foodinfo["pin"]
pin_isnull = pd.isnull(pin) # 查看所有空值
pin_isnull_list = foodinfo[pin_isnull] # 找出所有为空值的行
len(pin_isnull_list) # 空值的个数

17、缺失值相关操作

# 简单的处理办法就是过滤掉null值
books = foodinfo["life_cycle_books"]
book_isnull = pd.isnull(books)
book_list_isnull = foodinfo["life_cycle_books"][book_isnull == False]
mean = sum(book_list_isnull) / len(book_list_isnull) # 计算平均值

18、根据条件打印某列数据

foodinfo[foodinfo["life_cycle_books"] == 1]

19、数据透视表

import numpy as np
# index:要透视的列
# values:要比较的关系列
# aggfunc:具体的关系,默认值:np.mean
data_foodinfo = foodinfo.pivot_table(index = ["life_cycle_books", "potential_value_books"], values = "risk_level", aggfunc = np.mean)
print(data_foodinfo)

20、删除缺失值

# 所有行
na_foodinfo = foodinfo.dropna(axis = 1)
# 可以指定列
na_foodinfo = foodinfo.dropna(axis = 0, subset = ["life_cycle_books", "potential_value_books"])

21、自由取数据 如:取80行 life_cycle_books列

foodinfo.loc[80, "life_cycle_books"]

22、重新排索引

foodinfo.reset_index(drop = True)

23、自定义函数:返回空值个数

def count_null_columns(column):
column_null = pd.isnull(column)
list_null = column[column_null]
count_null = len(list_null)
return count_null
foodinfo.apply(count_null_columns)

24、Series

# pandas 三种数据结构
# Series
# DataFrame
# Panel
from pandas import Series

25、Series显示某一列数据

series_name = taitan["Name"]
series_name.values

26、定位某行某列

series_name = taitan["Name"]
series_age = taitan["Age"]
series_custom = Series(series_age.values, index = series_name)
series_custom[["Ahlin, Mrs. Johan (Johanna Persdotter Larsson)", "Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)"]]
# 说明:series_custom[""] 按列取 series_custom[[""]] 按行取

27、取5-10行数据,和上面一样:

series_custom[5: 10]

28、index变换

old_index = series_custom.index.tolist()
sort_index = sorted(old_index)
new_index = series_custom.reindex(sort_index)
print(new_index)

29、Series按索引和值排序的函数

sc1 = series_custom.sort_index()
print(sc1)
sc2 = series_custom.sort_values()
print(sc2)

30、Series 过滤

series_custom > 0.5
series_custom[series_custom > 0.5]
series_custom[(series_custom > 0.5) & (series_custom < 0.9)]
# 注:&、| 都是单符号

31、DataFrame

# Series是一行数据,DataFrame是多行数据
# DataFrame 可以看成由多个 Series 组成的
df = pd.read_csv("titanic_train.csv")

32、DataFrame的索引变换

# drop 是否新创建一个DF,True否 False是(表示还要保留Name这一列,否则一会无法进行计算)
df_name = df.set_index("Name", drop = False)

33、DataFrame查看某一类型的数据

types = df_name.dtypes
float_columns = types[types.values == "float64"].index
df_name[float_columns]

34、DataFrame求方差

float_df = df_name[float_columns]
float_df.apply(lambda x: np.std(x))

Python的Pandas库简述的更多相关文章

  1. Python之Pandas库常用函数大全(含注释)

    前言:本博文摘抄自中国慕课大学上的课程<Python数据分析与展示>,推荐刚入门的同学去学习,这是非常好的入门视频. 继续一个新的库,Pandas库.Pandas库围绕Series类型和D ...

  2. Python数据分析Pandas库方法简介

    Pandas 入门 Pandas简介 背景:pandas是一个Python包,提供快速,灵活和富有表现力的数据结构,旨在使“关系”或“标记”数据的使用既简单又直观.它旨在成为在Python中进行实际, ...

  3. Python的Numpy库简述

    numpy 是 python 的科学计算库import numpy as np 1.使用numpy读取txt文件 # dtype = "str":指定数据格式 # delimite ...

  4. Python的Matplotlib库简述

    Matplotlib 库是 python 的数据可视化库import matplotlib.pyplot as plt 1.字符串转化为日期 unrate = pd.read_csv("un ...

  5. Python之Pandas库学习(二):数据读写

    1. I/O API工具 读取函数 写入函数 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json ...

  6. Python之Pandas库学习(一):简介

    官方文档 1. 安装Pandas windos下cmd:pip install pandas 导入pandas包:import pandas as pd 2. Series对象 带索引的一维数组 创建 ...

  7. python的pandas库学习笔记

    导入: import pandas as pd from pandas import Series,DataFrame 1.两个主要数据结构:Series和DataFrame (1)Series是一种 ...

  8. Python数据分析Pandas库之熊猫(10分钟二)

    pandas 10分钟教程(二) 重点发法 分组 groupby('列名') groupby(['列名1','列名2',.........]) 分组的步骤 (Splitting) 按照一些规则将数据分 ...

  9. Python数据分析Pandas库之熊猫(10分钟一)

    pandas熊猫10分钟教程 排序 df.sort_index(axis=0/1,ascending=False/True) df.sort_values(by='列名') import numpy ...

随机推荐

  1. ThinkPHP框架 自定义 Empty 方法保护本地信息不被暴露!!!

    在使用ThinkPHP框架开发过程中,在每个Controller文件夹里面都要设置一个空控制器,用来保护本地信息不被泄露(EmptyController.class.php) 此方法很有效的隐藏系统内 ...

  2. 记一次treegrid checkbox 选择问题

    最后选择 select 方法来实现 checkRow checked 属性也不行 getChecked 方法并不能取到这两种方法的行数据

  3. hive中创建子表并插入数据过程初始化MR报错解决方法

    本文继成上一篇通过hive分析nginx日志文章,详情参考下面链接: http://www.cnblogs.com/wcwen1990/p/7066230.html 接着来: 创建业务子表: drop ...

  4. MyCAT 在 Cobar 的基础上,完成了彻底的 NIO 通讯,并且合并了两个线程池

    研读: 1.http://www.mycat.io <Mycat权威指南> 第 2 章 Mycat 前世今生: 浏览: 深度认识 Sharding-JDBC:做最轻量级的数据库中间层 - ...

  5. URL编码问题

    一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号. 比如,世界上有英文字母的网址"http://www.abc.com", 但是没有希腊字母的网址 ...

  6. 分析SignalTap的仿真结果

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  7. 加载properties文件的三种方法

    源代码: package a.one; import java.io.FileInputStream; import java.io.InputStream; import java.util.Pro ...

  8. Java 生成三位随机数

    调用这个Math.Random()函数能够返回带正号的double值,该值取值区间是[0.0,1.0),注意,它是左闭右开区间.返回值是一个伪随机选择的数,在该范围内(近似)均匀分布. 如果生成三位随 ...

  9. Python字符串拼接的6种方法

    如有其他字符串拼接方法 欢迎留言提出哦 (示例版本为Py2) 1. 加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用 “+” 来连接两个字符串 ...

  10. jq优化

    1.使用链式写法 $('div').find('h3').eq(2).html('Hello');采用链式写法时,jQuery自动缓存每一步的结果,因此比非链式写法要快.根据测试,链式写法比(不使用缓 ...