pandas 常见操作第一课 | Daily Python
没有首发于微信公众号 DongTalks ,不过依然欢迎关注 DongTalks ,让我们一起聊聊个人成长、职场、电影、音乐、运动等话题。
本帐号所有文章均为原创。文章可以随意转载,但请务必注明作者。如果觉得文章有用,欢迎转发朋友圈分享。
研究基于 Python 的数据科学离不开一些工具包,比如 pandas。
1. pandas 数据观察
数据观察常见函数如下:
- df.head(),观察头部数据
- df.tail(),观察尾部数据
- df.shape,返回(行数,列数)
- df.columns,返回列标题
- df.index,返回索引数据
- df.info(),返回数据总体信息
- df.describe(),返回数据统计描述
- df.plot(y='column'),打印 column 图表
2. pandas 数据索引和切片
设 stock 为一个 DataFrame,其中 Date 为其index。常见索引和切片操作总结如下。
Date | Open | High | Low | Close | Volume |
---|---|---|---|---|---|
2017-06-01 | 153.17 | 153.33 | 152.22 | 153.18 | 16404088 |
2017-06-02 | 153.58 | 155.45 | 152.89 | 155.45 | 27770715 |
2017-06-05 | 154.34 | 154.45 | 153.46 | 153.93 | 25331662 |
2017-06-06 | 153.90 | 155.81 | 153.78 | 154.45 | 26624926 |
2.1 stock['column']
用 stock['Close']
,输出该列内容。
2.2 stock.Column
用 stock.Close
,输出该列内容。
2.3 stock['column']['index']
用stock['Close']['2017-06-01']
选择某一特定单元格。
2.4 stock.Column['index']
用 stock.Close['2017-06-01']
的方式选择某一特定单元格。
2.5 stock.Column[0]
用 stock['Close'][0]选择某一特定单元格。
2.6 stock[['Column']]
用列名组成list的方式选择某一列/某些列。比如 stock[['Close']]
或 stock[['Close', 'Open']]
。
2.7 使用 .loc[]
stock.loc['index', 'column']
比如 stock.loc['2017-06-01', 'Close']
选择某一单元格。
也可以通过该格式指定范围来选择,如 stock.loc['2017-06-01':'2017-06-05', 'Open':'Close']
。
2.8 使用 .iloc
使用 .iloc
可以通过指定行数或列数选择特定数据,如 stock.iloc[0:2, :]
。
3. 过滤
列数据可以直接比较,如 stock.Volume > 5e7
,会把 Volumn 列的数据与后面的条件作比较,范围 True/False。
利用这种方法可以在DataFrame里面过滤数据,生成新的DataFrame,如 stock[stock.Volume > 5e7]
和 stock[stock.Close > stock.Open]
。
过逻辑关系还可以嵌套「或」和「与」,如
stock[(stock.Close > stock.Open) & (stock.Volume > 3e7)]
stock[(stock.Close > stock.Open) | (stock.Volume > 5e7)]
4. 生成新列
生成新列的方法非常简单,直接将列名指定相应数据即可,如 stock['fluctuation'] = stock['High'] - stock['Low']
。
Buy-me-beer.jpg
DongTalks.jpg