文章插图
一起学习,一起成长!
DataFrame数据结构对查询方式是数据处理与分析中经常使用对 。比如,我们通常使用对Excel数据文件,通常都是这种数据结构 。所以,该数据结构对数据查询或称数据过滤方式极为重要,具体内容如下:
In [41]: dates=pd.date_range('1/1/2019',periods=100,freq='W-WED')
In [42]: long_df=DataFrame(np.random.randn(100,4),index=dates,columns=['字段1','字段2','字段3','字段4'])
字符串查询In [43]: long_df['1/2019']
Out[43]:
字段1 字段2 字段3 字段4
2019-01-02 -0.612222 -1.040934 2.082731 1.348500
2019-01-09 -0.335291 0.381831 0.744737 0.651845
2019-01-16 0.286719 0.661222 0.064456 1.137021
2019-01-23 1.217550 -0.099077 1.297057 -0.570431
2019-01-30 -0.852166 -0.794072 1.374697 0.260344
In [44]: long_df[['字段1','字段2']]['1/2019']
Out[44]:
字段1 字段2
2019-01-02 -0.612222 -1.040934
2019-01-09 -0.335291 0.381831
2019-01-16 0.286719 0.661222
2019-01-23 1.217550 -0.099077
2019-01-30 -0.852166 -0.794072
In [45]: long_df[['字段1','字段2']]['1/2/2019':'1/10/2019']
Out[45]:
字段1 字段2
2019-01-02 -0.612222 -1.040934
2019-01-09 -0.335291 0.381831
In [46]: long_df[['字段1','字段2']][:'1/10/2019']
Out[46]:
字段1 字段2
2019-01-02 -0.612222 -1.040934
2019-01-09 -0.335291 0.381831
In [47]: long_df[['字段1','字段2']][:'2/10/2019']
Out[47]:
字段1 字段2
2019-01-02 -0.612222 -1.040934
2019-01-09 -0.335291 0.381831
2019-01-16 0.286719 0.661222
2019-01-23 1.217550 -0.099077
2019-01-30 -0.852166 -0.794072
2019-02-06 -0.029565 0.044062
datetime查询In [53]: long_df[['字段1','字段2']][datetime(2019,1,5):datetime(2019,2,15)]
Out[53]:
字段1 字段2
2019-01-09 -0.335291 0.381831
2019-01-16 0.286719 0.661222
2019-01-23 1.217550 -0.099077
2019-01-30 -0.852166 -0.794072
2019-02-06 -0.029565 0.044062
2019-02-13 0.783809 -0.098006
In [58]: long_df[['字段1','字段2']][:datetime(2019,2,6)]
Out[58]:
字段1 字段2
2019-01-02 -0.612222 -1.040934
2019-01-09 -0.335291 0.381831
2019-01-16 0.286719 0.661222
2019-01-23 1.217550 -0.099077
2019-01-30 -0.852166 -0.794072
2019-02-06 -0.029565 0.044062
使用truncate进行查询In [60]: long_df[['字段1','字段2']].truncate(after='2/6/2019')
Out[60]:
字段1 字段2
2019-01-02 -0.612222 -1.040934
2019-01-09 -0.335291 0.381831
2019-01-16 0.286719 0.661222
2019-01-23 1.217550 -0.099077
2019-01-30 -0.852166 -0.794072
2019-02-06 -0.029565 0.044062
In [62]: long_df[['字段1','字段2']].truncate(before='1/20/2019',after='2/6/2019')
Out[62]:
字段1 字段2
2019-01-23 1.217550 -0.099077
2019-01-30 -0.852166 -0.794072
2019-02-06 -0.029565 0.044062
【时间序列:DataFrame数据查询方法】
推荐阅读
- 稚久|特征工程之处理时间序列数据
- 芯片国产化替代加速中,「道合顺」推出元器件大数据查询平台
- 家族战队|pandas | DataFrame中的排序与汇总方法
- 辛德蕾拉|SparkSQL /DataFrame /Spark RDD谁快?
- Sktime:用于时间序列机器学习的Python库
- 科技小数据 Arrow:使用零内存读取DataFrame,Apache
- 科技俱乐部菌 DeepAR 进行时间序列预测,使用
- 科技俱乐部菌|DeepAR 进行时间序列预测,使用
- 神经受控微分方程:非规则时间序列预测新SOTA
- 如何创建具有不同模式的时间序列数据集(Python)