pandas的基础使用

摘要:
importsqlite3con=sqlite3.connectdf=pd.read_sql选择一列,并绘制当你读取CSV时,你会得到一种称为DataFrame的对象,它由行和列组成。fixed_df['Berri1'].plot()直接输出表对象complaints=pd.read_csv当你查看一个大型数据框架,而不是显示数据框架的内容,它会显示一个摘要。所以我们需要做的是告诉pandas这些整数实际上是数据时间,它不需要做任何转换。这是一个常量时间操作,我们实际上并不改变任何数据,只是改变了Pandas如何看待它。
从 CSV 文件中读取数据

这个数据集是一个列表,蒙特利尔的 7 个不同的自行车道上每天有多少人。

broken_df = pd.read_csv('../data/bikes.csv')

# 查看前三行

broken_df[:3]

pandas的基础使用第1张

你可以看到这完全损坏了,说明读取方式不合适。 read_csv 拥有一堆选项能够让我们修复它,在这里我们:

将列分隔符改成分号 ;

将编码改为 latin1(默认为 utf-8)

解析Date列中的日期

告诉它我们的日期将日放在前面,而不是月

将索引设置为 Date

fixed_df = pd.read_csv( '../data/bikes.csv', sep=' ; ' , encoding='latin1', parse_dates=['Date'], dayfirst=True, index_col='Date')

fixed_df[:3]

pandas的基础使用第2张

从SQL库读取数据

read_sql需要2个参数: SELECT语句, 数据库连接对象。

import sqlite3

con = sqlite3.connect("../data/weather_2012.sqlite")

df = pd.read_sql("SELECT * from weather_2012 LIMIT 3", con)

选择一列,并绘制

当你读取 CSV 时,你会得到一种称为 DataFrame 的对象,它由行和列组成。 您

从数据框架中获取列的方式与从字典中获取元素的方式相同。

fixed_df['Berri 1'].plot()

直接输出表对象

complaints = pd.read_csv('../data/311-service-requests.csv')

当你查看一个大型数据框架,而不是显示数据框架的内容,它会显示一个摘要。这包括所有列,以及每列中有多少非空值。

如直接输出 complaints

查找多列,多行,子集

查看每列的类型:

df.dtypes

查找多列,列索引必须要用中括号扩起来

complaints[['Complaint Type', 'Borough']][:10]

查找多行,这里的ix索引标签函数必须是中括号[]

student.ix[[0,2,4,5,7]]

查找多列,通过ix索引标签查询指定的列

student.ix[ : , ['Name','Height','Weight']]

查询出所有12岁以上的女生姓名、身高和体重

student[(student['Sex']=='F') & (student['Age']>12)][['Name','Height','Weight']]

查看某列中各个种类出现的次数

complaints['Complaint Type'].value_counts()

查看某列中属于某个种类的数据

为了得到噪音投诉,我们需要找到 Complaint Type 列为 Noise -Street/Sidewalk 的行。 我会告诉你如何做,然后解释发生了什么。

noise_complaints = complaints[complaints['Complaint Type'] == "Noise - Street/Sidewalk"]

将多个条件与 & 运算符组合

is_noise = complaints['Complaint Type'] == "Noise - Street/Sidewalk"

in_brooklyn = complaints['Borough'] == "BROOKLYN"

complaints[is_noise & in_brooklyn][:5]

转为numpy数组类型

pd.Series([1,2,3]).values

常用函数

1)对字符串切片操作

requests['某列'] = requests['某列'].str.slice(0,5)

2)为每列添加前缀

df.add_prefix('mean_')

排序

1)将一列排序

Table[[‘某列’]].sort()

2)将多列按照某一列排序

table[['列1', '列2', '列3']].sort('列1')

3)值排序一般使用sort_values()

Student.sort_values(by = [‘sex’, ‘age’])

解析Unix时间戳

pandas 中的时间戳解析的神奇部分是 numpy datetime 已经存储为 Unix 时间戳。 所以我们需要做的是告诉 pandas 这些整数实际上是数据时间,它不需要做任何转换。

我们需要首先将这些转换为整数,然后我们可以使用 pd.to_datetime函数将我们的整数时间戳转换为 datetimes。这是一个常量时间操作,我们实际上并不改变任何数据,只是改变了 Pandas 如何看待它。

popcon['atime'] = popcon['atime'].astype(int)

popcon['atime'] = pd.to_datetime(popcon['atime'], unit='s')

免责声明:文章转载自《pandas的基础使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇蓝牙DA14580开发:固件格式、二次引导和烧写mac 版本navicate 如何安装破解版下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

KDD MIMIC-IV与MIMIC-III的区别

MIMIC-IV MIMIC-IV将MIMIC-III的数据表模块化划分,反应各个模块的数据的独立性和不同本质。包含2008年至2018年(MIMIC-III:2001年至2012年)之间进入重症监护病房的数据,增加了急救中心和胸部x光片数据。 Website | Code | Doc 模块化 core - admissions/patients/tra...

时间那点儿事儿 -- 时间戳,时区,冬令时,夏令时

关于时间的那点儿事儿 -- 时间戳,时区,冬令时,夏令时 UTC、GMT、PST,冬令时、夏令时 看起来是不是很懵,看完本文后相信关于时间你会有一个清醒的认知。 时间按照不同的角度可以划分为: 时间戳 时区 冬令时,夏令时 一、时间戳 时间戳:距离一个历史上一个标准参照时间经过的秒数(毫秒数)。 有两种常用时间参照点: 1970-01-01 00:0...

将日期格式转换为时间戳

1. 将时间戳转换成日期格式 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了 2. 更多好用的方法可以在这查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp...

asp.net C# 实现微信服务器配置

微信服务器配置接收页面示例代码 /// <summary> ///微信的Token /// </summary> const string Token = "Token令牌"; protected void...

bootstrap-table中时间戳转换为日期格式。

{ field: 'createdTime', title: '创建时间', formatter: function (value, row, index) { return changeDateFormat(value) } }, function changeDateFormat(cellval) { var dateVal = cellval +...

开放API接口签名验证

我们开放的api接口如果不做验证,完全暴露在外面是极其不安全的,所以我们要把我们的接口进行签名。 那签名有什么意义呢? 1、保证数据未被篡改 2、请求来源身份合法性 3、请求的唯一性 (不可复制) 那我们该如何实施呢: 1、首先我们得给客户端分配对应的key和secret 2、客户端访问数据接口之前需要用md5加密算法进行一次签名,签名内容是把我们提交的值...