最近想玩玩 tushare ,有几个问题:
1 、比如我从 csv 中读入股票的数据,存入到 DataFrame 里: df=pd.read_csv(FileDir, index_col="date", encoding='gbk')。此时 date 作为 index ,那么之后调用排序 df.sort_values 就无法使用 date 进行。只能选用其它 column (比如 open 、 close 等)进行排序。也就是说 df.sort_values(by=['date'])出错,而 df.sort_values(by=['close'])正常。
所以目前我只能修改为 df=pd.read_csv(FileDir, encoding='gbk'),这样 df 的数据就类似于:
date open high close low volume price_change p_change \
0 2015-12-22 25.45 25.60 25.34 24.83 23069.91 -0.10 -0.39
1 2015-12-21 25.65 25.95 25.44 25.01 34771.50 -0.42 -1.62
这时 index 就是从 0 开始的整数。如果调用 df.sort_values(by=['date']), index 也会相应调整成这样:
date open high close low volume price_change p_change \
584 2012-12-24 5.40 5.44 5.41 5.35 5436.09 0.01 0.18
583 2012-12-25 5.41 5.58 5.52 5.36 17887.64 0.11 2.03
但是我希望 index 不参与排序
2 、我想对 df 的 open 或者 close 数据画图,比如 x 轴为 date , y 轴为 open ,日期该如何转换?
因为我直接调用 plt.plot(df['date'], df['close'])就会出错。
1 、比如我从 csv 中读入股票的数据,存入到 DataFrame 里: df=pd.read_csv(FileDir, index_col="date", encoding='gbk')。此时 date 作为 index ,那么之后调用排序 df.sort_values 就无法使用 date 进行。只能选用其它 column (比如 open 、 close 等)进行排序。也就是说 df.sort_values(by=['date'])出错,而 df.sort_values(by=['close'])正常。
所以目前我只能修改为 df=pd.read_csv(FileDir, encoding='gbk'),这样 df 的数据就类似于:
date open high close low volume price_change p_change \
0 2015-12-22 25.45 25.60 25.34 24.83 23069.91 -0.10 -0.39
1 2015-12-21 25.65 25.95 25.44 25.01 34771.50 -0.42 -1.62
这时 index 就是从 0 开始的整数。如果调用 df.sort_values(by=['date']), index 也会相应调整成这样:
date open high close low volume price_change p_change \
584 2012-12-24 5.40 5.44 5.41 5.35 5436.09 0.01 0.18
583 2012-12-25 5.41 5.58 5.52 5.36 17887.64 0.11 2.03
但是我希望 index 不参与排序
2 、我想对 df 的 open 或者 close 数据画图,比如 x 轴为 date , y 轴为 open ,日期该如何转换?
因为我直接调用 plt.plot(df['date'], df['close'])就会出错。