python中的pandas_python中pandas常用方法

# coding:utf-8

import numpy as np

import pandas as pd

datas = pd.date_range('20140729', periods=6)

# 先创建一个时间索引,所谓的索引(index)就是每一行数据的id,可以标识每一行的唯一值

print datas

DatetimeIndex(['2014-07-29', '2014-07-30', '2014-07-31', '2014-08-01',

'2014-08-02', '2014-08-03'],

dtype='datetime64[ns]', freq='D')

# 为了快速入门,我们看一下如何创建一个6X4的数据:randn函数用于创建随机数,参数表示行数和列数,dates是上一步创建的索引列

df = pd.DataFrame(np.random.randn(6, 4), index=datas, columns=list('ABCD'))

print df

A B C D

2014-07-29 0.345746 -0.876197 0.032886 0.986082

2014-07-30 1.922237 0.319706 0.021631 -1.236869

2014-07-31 0.011980 0.376963 -0.149351 -0.172322

2014-08-01 0.909287 2.186534 0.030290 -1.576527

2014-08-02 0.555227 1.123179 -1.687594 -0.957927

2014-08-03 0.232108 1.410862 -0.157567 -0.915288

# 我们还可以使用字典来创建数据框,例如创建一个列名为A的数据框,索引是自动创建的整数

df2 = pd.DataFrame({'A': np.random.randn(6), })

print df2

A

0 0.303553

1 -0.877653

2 0.239478

3 -0.179406

4 0.766085

# 这又是一个字典创建DataFrame的例子

df2 = pd.DataFrame({'A': pd.Timestamp('20140729'), 'B': pd.Series(1), })

print df2

A B

0 2014-07-29 1

# 假如字典内的数据长度不同,以最长的数据为准,比如B列有4行:

df2 = pd.DataFrame({'A': pd.Timestamp('20140729'), 'B': pd.Series(1, index=list(range(4))), })

print df2

A B

0 2014-07-29 1

1 2014-07-29 1

2 2014-07-29 1

3 2014-07-29 1

# 可以使用dtypes来查看各行的数据格式

print df2.dtypes

A datetime64[ns]

B int64

dtype: object

# 接着看一下如何查看数据框中的数据,看一下所有的数据

print df

A B C D

2014-07-29 0.345746 -0.876197 0.032886 0.986082

2014-07-30 1.922237 0.319706 0.021631 -1.236869

2014-07-31 0.011980 0.376963 -0.149351 -0.172322

2014-08-01 0.909287 2.186534 0.030290 -1.576527

2014-08-02 0.555227 1.123179 -1.687594 -0.957927

2014-08-03 0.232108 1.410862 -0.157567 -0.915288

# 使用head查看前几行数据(默认是前5行),不过你可以指定前几行

print df.head()

# 查看前三行数据

print df.head(3)

# 使用tail查看后2行数据

print df.tail(2)

# 查看数据框的索引

print df.index

# 查看列名用columns

print df.columns

Index([u'A', u'B', u'C', u'D'], dtype='object')

# 查看数据值,用values

print df.values

# 查看描述性统计,用describe

print df.describe()

A B C D

count 6.000000 6.000000 6.000000 6.000000

mean 0.662764 0.756841 -0.318284 -0.645475

std 0.688200 1.059073 0.676719 0.924433

min 0.011980 -0.876197 -1.687594 -1.576527

25% 0.260518 0.334020 -0.155513 -1.167134

50% 0.450486 0.750071 -0.063860 -0.936608

75% 0.820772 1.338941 0.028125 -0.358063

max 1.922237 2.186534 0.032886 0.986082

# 使用type看一下输出的描述性统计是什么样的数据类型——DataFrame数据

print type(df.describe())

# 使用T来转置数据,也就是行列转换

print df.T

# 对数据进行排序,用到了sort,参数可以指定根据哪一列数据进行排序。

print df.sort(columns='C')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值