Pandas常用命令
一.数据导入和导出
(一)读取csv文件
1.本地读取
import pandas as pd
df = pd.read_csv('tips.csv')  #根据自己数据文件保存的路径填写(p.s.  python填写路径时,要么使用/,要么使用\\)
2.网络读取
import pandas as pd
data_url = "https://raw.githubusercontent.com/mwaskom/seaborn-data/master/tips.csv" #填写url读取
df = pd.read_csv(data_url)
3.读取数据库
# 读取mysql 数据
con = pymysql.connect(host='192.168.159.129',user='root',password="mysql",database='mysql',port=3306,charset='utf8')
a = pd.read_sql_query('select * from user;',con=con)
print(type(a))
二.提取和筛选需要的数据
print(df.head())  #打印数据前五行
print(df.tail())  #打印数据后5行
print(df.columns)  #打印列名
print(df.index)     #打印行名
print(df.ix[10:20, 0:3])  #打印10~20行前三列数据
print(df.iloc[[1,3,5],[2,4]])    #提取不连续行和列的数据,这个例子提取的是第1,3,5行,第2,4列的数据
print(df.iat[3,2])    #专门提取某一个数据,这个例子提取的是第三行,第二列数据(默认从0开始算)
print(df.drop(df.columns[1, 2], axis = 1)) #舍弃数据前两列
print(df.drop(df.columns[[1, 2]], axis = 0)) #舍弃数据前两行
print(df.shape) #打印维度
print(df.iloc[3]) #选取第3行
print(df.iloc[2:4]) #选取第2到第3行
print(df.iloc[0,1]) #选取第0行1列的元素
print(df.dtypes)   # 查看数据类型
print(df[df.tip > 8 ]) #选取tip列大于8的
#数据筛选同样可以用”或“和”且“作为筛选条件,比如
df[(df.tip>7)|(df.total_bill>50)] #筛选出小费大于$7或总账单大于$50的数据
df[(df.tip>7)&(df.total_bill>50)] #筛选出小费大于$7且总账单大于$50的数据
df[['day','time']][(df.tip>7)|(df.total_bill>50)]  #假如加入了筛选条件后,我们只关心day和time
print(df.describe()) #描述性统计
三.数据处理
1.数据转置
print(df.T)
2.数据排序
print(df.sort_values(by='size',ascending=False))  # 根据 size 列进行排序,ascending=False 降序。默认升序
四.缺失值处理
1.填充缺失值
df['tip'].fillna("hello")  # 指定数据代替缺失值
df['tip'].fillna(method='pad') #用前一个数据代替缺失值
df['tip'].fillna(method='bfill') #用后一个数据代替缺失值
2.删除缺失值
df['tip'].dropna(axis=0) #删除缺失行
df['tip'].dropna(axis=1) #删除缺失列
五.数据分组
group = df.groupby('day')  #按day这一列进行分组
print(group.first())#打印每一组的第一行数据
print(group.last())#打印每一组的最后一行数据
六.保持数据
1.写入数据库
# 导入必要模块
import pandas as pd
from sqlalchemy import create_engine
# 初始化数据库连接,使用pymysql模块
# MySQL的用户:root, 密码:mysql, 端口:3306,数据库:mydb
# 读取csv 数据
df = pd.read_csv('tips.csv')
engine = create_engine('mysql+pymysql://root:mysql@192.168.159.129:3306/my_data?charset=utf8')
df.to_sql('tips', con=engine, index=True,if_exists='fail')  # 将df 数据读取写入到mysql 数据库,表名为 tips,index=True 表示写入行索引
if_exists 存在“fail”、“replace”、“append”,则默认为“fail”
如果表已经存在,如何进行操作。
*fail:引发ValueError。
*replace:在插入新值之前删除表。
*append:在现有表中插入新值。
												
											Pandas常用命令的更多相关文章
- [译]Pandas常用命令对照清单
		
我们在内容中使用以下简写: df pandas的DataFrame对象 s pandas的Series对象 导入以下包开始 import pandas as pd import numpy as np ...
 - [Python]Conda 介绍及常用命令
		
一.介绍 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算.数据分析的 Python 包.其使用conda系统进行 ...
 - Ubuntu常用命令及git常用命令
		
1. CMakeLists.txt中指定OpenCV路径 set(OPENCV_DIR /***/***/opencv-2.4.9) 2. cmake工程编译安装 mkdir build cd bui ...
 - ubuntu源与常用python配置pip源(win)、pip常用命令
		
pip常用命令 ubuntu更新系统源 首先备份/etc/apt/sources.list mv /etc/apt/sources.list /etc/apt/sources.list.bak 然后下 ...
 - Linux 常用命令(持续补充)
		
常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...
 - LVM基本介绍与常用命令
		
一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...
 - Linux学习笔记(一):常用命令
		
经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...
 - git常用命令(持续更新中)
		
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
 - 【原】npm 常用命令详解
		
今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...
 
随机推荐
- BZOJ 2480 && 3239 && 2995 高次不定方程(高次同余方程)
			
链接 BZOJ 2480 虽然是个三倍经验题(2333),但是只有上面这道(BZOJ2480)有 p = 1 的加强数据,推荐大家做这道. 题解 这是一道BSGS(Baby Step Giant St ...
 - JavaScript学习复习
			
JavaScript 输出 使用 window.alert() 弹出警告框. 使用 document.write() 方法将内容写到 HTML 文档中. 使用 innerHTML 写入到 HTML 元 ...
 - 前端学习 -- Html&Css -- 相对定位 绝对定位 固定定位
			
相对定位 - 定位指的就是将指定的元素摆放到页面的任意位置,通过定位可以任意的摆放元素. - 通过position属性来设置元素的定位. -可选值: static:默认值,元素没有开启定位: rela ...
 - 解题:SCOI 2007 蜥蜴
			
题面 拆点跑最大流 所有能跑出去的点连向汇点,容量为inf 原点连向所有初始有蜥蜴的点,容量为1 每根柱子拆成两个点“入口”和“出口”,入口向出口连容量为高度的边,出口向别的有高度的柱子的入口连容量为 ...
 - 解题:SHOI2001 化工厂装箱员
			
题面 题外话:从零开始的DP学习系列之壹(我真的不是在装弱,我DP真的就这么烂TAT) 从lyd那里学到了一点DP的小技巧,在设状态时可以先假装自己在做搜索,往一个函数里传了一些参数,然后把这些参数抓 ...
 - 界面编程之QT的Socket通信20180730
			
/*******************************************************************************************/ 一.linu ...
 - Go_21: Golang 中 time 包的使用二
			
常量声明: const TimeLayout = "2006-01-02 15:04:05" 这是个奇葩,必须是这个时间点,据说是 go 诞生之日, 记忆方法:6-1-2-3-4- ...
 - python学习笔记7-网络编程
			
import urllib.request import json,requests #urlib模块,不常用 url = 'http://api.nnzhp.cn/api/user/stu_info ...
 - 深入分析Java Web技术内幕
			
深入web请求过程 发起一个http请求的过程就是建立一个socket通信的过程 HTTPClient是一个开源的实现了http请求的工具包 深入分析java I/O的工作机制 深入分析java We ...
 - 仿QQ聊天图文混排流程图【适用于XMPP】
			
图文混排流程图.graffle4.8 KB 下面附上图片素材: 表情.zip692.5 KB 下面是字符串与图片的详细对应关系: "[呲牙]& ...