编程字典Pandas教程 http://codingdict.com/article/8270
清华计算机博士带你学-Python金融量化分析 https://www.bilibili.com/video/BV1i741147LS?t
pandas文档 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
数据文件常用格式:csv(以某间隔符分割数据)
文件读取
- read_csv 默认分隔符为逗号
- read_table 默认分隔符为制表符
read_csv 、read_table 函数主要参数:
参数 | 说明 |
---|---|
sep | 指定分隔符,default ‘,’ |
header=None | 指定文件无列名 |
name | 指定列名 |
index_col | 指定某列作为索引 |
skip_row | 指定跳过某些行 |
na_values | 指定某些字符串表示缺失值 |
parse_dates | 指定某些列是否被解释为日期,类型为布尔值或列表 |
例子:以正泰电器2015点至今的股票数据为例。
chint = pd.read_csv('chint.csv')
print(chint)
输出
Unnamed: 0 date open close high low volume code
0 0 2015-01-05 NaN 22.040 23.078 21.604 78865.0 601877
1 1 2015-01-06 21.763 21.936 22.379 21.195 41162.0 601877
2 2 2015-01-07 21.936 21.514 22.033 21.340 34078.0 601877
3 3 2015-01-08 21.514 21.382 21.597 21.050 32962.0 601877
4 4 2015-01-09 21.389 21.064 21.548 21.043 23925.0 601877
... ... ... ... ... ... ... ... ...
1325 1325 2021-01-04 39.100 40.450 41.200 38.530 234006.0 601877
1326 1326 2021-01-05 39.990 39.680 40.150 39.300 218945.0 601877
1327 1327 2021-01-06 39.570 40.200 41.280 39.520 203045.0 601877
1328 1328 2021-01-07 39.680 40.600 41.260 39.550 205459.0 601877
1329 1329 2021-01-08 40.880 38.730 41.380 38.250 303408.0 601877
[1330 rows x 8 columns]
文件写入
写到csv文件:to_csv函数
主要参数:
参数 | 说明 |
---|---|
sep | 指定分隔符,default ‘,’ |
na_rep | 指定缺失值转换的字符串,默认为空字符串 |
header=False | 不输出列名的一行 |
index=False | 不输出行索引的一列 |
cols | 指定输出的列,传入列表 |
这里使用了tushare库生成股票数据
import tushare as ts
chint = ts.get_k_data("601877",start='2015-01-05',end='2021-01-09')
df = pd.DataFrame(chint)
df.to_csv('chint.csv')
print(df)
输出
本接口即将停止更新,请尽快使用Pro版接口:https://waditu.com/document/2
date open close high low volume code
0 2015-01-05 21.707 22.040 23.078 21.604 78865.0 601877
1 2015-01-06 21.763 21.936 22.379 21.195 41162.0 601877
2 2015-01-07 21.936 21.514 22.033 21.340 34078.0 601877
3 2015-01-08 21.514 21.382 21.597 21.050 32962.0 601877
4 2015-01-09 21.389 21.064 21.548 21.043 23925.0 601877
... ... ... ... ... ... ... ...
1325 2021-01-04 39.100 40.450 41.200 38.530 234006.0 601877
1326 2021-01-05 39.990 39.680 40.150 39.300 218945.0 601877
1327 2021-01-06 39.570 40.200 41.280 39.520 203045.0 601877
1328 2021-01-07 39.680 40.600 41.260 39.550 205459.0 601877
1329 2021-01-08 40.880 38.730 41.380 38.250 303408.0 601877
[1330 rows x 7 columns]