python

pandas 数据结构简介

2018-07-18  本文已影响131人  Stone0823

pandas 数据结构及构建

pandas 主要有两种数据结构: SeriesDataFrameSeries 类似一维数组,自带索引。DataFrame 是二维的类似表格的数据结构。

我们先来两个最简单的例子:

import pandas as pd
s = pd.Series(['Java','Python', 'CSharp'])
print (s)

将打印如下值:

0      Java
1    Python
2        CSharp
dtype: object

第一列的 0, 1, 2 是 Serieslabel 或者 index。默认 index 从 0 开始, integer 类型。

DataFrame 一般可以从 Python 的 dict 创建,比如:

data = {
    'currency': ['USD', 'HKD', 'JPY', 'NTD'],
    'rate': [6, 0.8, 0.06, 0.23]
}
df = pd.DataFrame(data)
print (df)

print 语句将打印如下值:

currency  rate
0      USD  6.00
1      HKD  0.80
2      JPY  0.06
3      NTD  0.23

pandas 作为数据分析的利器,更多地是从其他数据源读取数据,从获取的数据创建 Series 或者 DataFrame。外部数据源常见的包括比如 csv 文件、 Excel 文件或者数据库等等。下面逐一示例。

从 CSV 文件读取数据

df = pd.read_csv('WHO_first9cols.csv')
df.head()  # print first 5 lines

WHO_first9cols.csv 文件可以从这里下载。上面的代码在 jupyter notebook 中输出的结果为:

从 Excel 文件读取数据

excel_file = pd.ExcelFile('excel-comp-data.xlsx')
df = pd.read_excel(excel_file, sheetname = 'Sheet1')
df.head()

输出的结果如下:

从数据库表读取数据

DataFrame 提供 read_sql, read_sql_queryread_sql_table 三个方法来从数据库中读取数据。下面演示读取本地 mysql 数据中相关表的数据。

from sqlalchemy import create_engine
DB_URI = 'mysql+pymysql://root:pwd@localhost:3306/stonetest?charset=utf8'
engine = create_engine(DB_URI)

# read table
df = pd.read_sql_table('employees', engine)

如果用其他两种方法,代码如下:

df = pd.read_sql('select * from emp_master', engine)

df = pd.read_sql_query('select * from emp_master', engine)
上一篇 下一篇

猜你喜欢

热点阅读