一.数据导入和导出

(一)读取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常用命令的更多相关文章

  1. [译]Pandas常用命令对照清单

    我们在内容中使用以下简写: df pandas的DataFrame对象 s pandas的Series对象 导入以下包开始 import pandas as pd import numpy as np ...

  2. [Python]Conda 介绍及常用命令

    一.介绍 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算.数据分析的 Python 包.其使用conda系统进行 ...

  3. Ubuntu常用命令及git常用命令

    1. CMakeLists.txt中指定OpenCV路径 set(OPENCV_DIR /***/***/opencv-2.4.9) 2. cmake工程编译安装 mkdir build cd bui ...

  4. ubuntu源与常用python配置pip源(win)、pip常用命令

    pip常用命令 ubuntu更新系统源 首先备份/etc/apt/sources.list mv /etc/apt/sources.list /etc/apt/sources.list.bak 然后下 ...

  5. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  6. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  7. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  8. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  9. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

随机推荐

  1. 六、spring boot 1.5.4 配置多数据源

    spring boot 已经支持多数据源配置了,无需网上好多那些编写什么类的,特别麻烦,看看如下解决方案,官方的,放心! 1.首先定义数据源配置 #=====================multi ...

  2. 解题:NOI 2010 航空管制

    题面 常见的套路与不常见的套路 第一问是常见的套路,建反边用优先队列跑拓扑排序 第二问是不常见的套路,如何判断一个点最早什么时候起飞?先不加它来拓扑排序,直到拓扑排序不能进行下去了,这个时刻就是它必须 ...

  3. 情人节网站logo赏析

    一年一度的情人节,不少网站都进行了不错的装点,我们不妨来简单浏览一下,借以触发灵感. 百度 百度的logo放上了改变,变成了一个gif,图片如下. 腾讯 淘宝 淘宝的logo同样换成了一个gif 谷歌 ...

  4. bzoj千题计划221:bzoj1500: [NOI2005]维修数列(fhq treap)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1500 1.覆盖标记用INF表示无覆盖标记,要求可能用0覆盖 2.代表空节点的0号节点和首尾的两个虚拟 ...

  5. MySql数据库表设计规范

    建表规约 索引规约 SQL 语句 其他实战建议 选用utf8编码 建议使用InnoDB存储引擎 建议每张表都设置一个主键 建议字段定义为NOT NULL 唯一值字段要指定唯一性约束 ALTER TAB ...

  6. 模拟jQuery中的ready方法及实现按需加载css,js

    一.ready函数的实现 经常用jQuery类库或其他类库中的ready方法,有时候想想它们到底是怎么实现的,但是看了一下jQuery中的源码,涉及到的模块比较多,(水平有限)代码比较难看懂:自己结合 ...

  7. [整理]Error: [ngRepeat:dupes]的解决方法

    sdfsadf <div class="pageNum middle PT10"> <a href="javascript:void(0);" ...

  8. 用phpStorm的数据库工具来管理你的数据库

    phpStorm是一个功能强大的IDE,不仅对PHP提供了支持,而且对前端HTML.CSS.JavaScript的支持也是非常不错的.此外,phpStorm还集成了很多实用的功能,下面就phpStor ...

  9. MYSQL导入数据出现The MySQL server is running with the --secure-file-priv

    MYSQL导入数据出现The MySQL server is running with the --secure-file-priv option so it cannot execute this ...

  10. pt-table-checksum 3.0.4检测不出主从差异数据

    群里好几位同学问 pt-table-checksum 3.0.4, 主从两个表数据是不一致,为啥检测不出来?前段时间自己也测试过,只是没整理成随笔^_- 一.基本环境 VMware10.0+CentO ...