Python 从csv文件行中的日期切片

Python 从csv文件行中的日期切片,python,pandas,matplotlib,Python,Pandas,Matplotlib,我想在所选范围(例如2013-01-01 20:00至2013-01-02 15:00)的多个数字上选择并绘制每个小时的数据(来自熊猫数据框)为X和Y 我想根据第2~4列中值的选定范围选择行,作为X轴,每行有3条记录[273.548 273.322 272.8313]和 对于相同的日期范围,另一组行如Y轴,例如[1000 1200 1400]用于第39~41列的值。我试过了 date LEV1 LEV2 LEV3 L2 L3 L4 2013-01-01 1:0

我想在所选范围(例如2013-01-01 20:00至2013-01-02 15:00)的多个数字上选择并绘制每个小时的数据(来自熊猫数据框)为X和Y

我想根据第2~4列中值的选定范围选择行,作为
X轴
,每行有3条记录[273.548 273.322 272.8313]和

对于相同的日期范围,另一组行如
Y轴
,例如[1000 1200 1400]用于第39~41列的值。我试过了

    date    LEV1    LEV2    LEV3    L2  L3  L4
2013-01-01 1:00 266.591 266.591 266.591 1000    1200    1400
2013-01-01 2:00 266.479 266.479 266.479 1000    1200    1400
2013-01-01 3:00 266.373 266.373 266.373 1000    1200    1400
2013-01-01 4:00 266.273 266.273 266.273 1000    1200    1400
2013-01-01 5:00 266.178 266.178 266.178 1000    1200    1400
2013-01-01 6:00 265.05  265.05  265.05  1000    1200    1400
2013-01-01 7:00 266.065 266.065 266.065 1000    1200    1400
但我不能根据日期进行选择,因为它会选择相关列的所有数据

必须有各种(更聪明的)方法来实现您的目标。但我将向你们展示一个使用熊猫的可能例子

df['date']=pd.to_datetime(df['date'])
df=df.set_索引(“日期”)

选择器_LEV=(df['LEV1']感谢您的建议,但在这种情况下,我们如何获得范围内的多个绘图(例如2013-01-01 20:00至2013-01-02 15:00)@su79eu7k
import pandas as pd

dft = pd.read_table("3year.csv", sep=" ",delimiter =",")
J = dft[['LEV1','LEV2', 'LEV3']].as_matrix()
G = dft[['L2','L3','L4']].as_matrix()
print J




 [ 270.     270.     270.]
 [ 270.     270.     270.]
 [ 270.     270.     270.]
 ..., 
 [ 273.548  273.322  272.831]
 [ 273.575  273.289  272.634]
 [ 273.598  273.254  272.43]]
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')

selector_LEV = (df['LEV1'] <= 266.373) & (df['LEV2'] <= 266.373) & (df['LEV3'] <= 266.373)
selector_L = (df['L2'] == 1000) & (df['L3'] == 1200) & (df['L4'] == 1400)

df[selector_LEV & selector_L]['20130101':]

    LEV1    LEV2    LEV3    L2  L3  L4
date                        
2013-01-01 03:00:00 266.373 266.373 266.373 1000    1200    1400
2013-01-01 04:00:00 266.273 266.273 266.273 1000    1200    1400
2013-01-01 05:00:00 266.178 266.178 266.178 1000    1200    1400
2013-01-01 06:00:00 265.050 265.050 265.050 1000    1200    1400
2013-01-01 07:00:00 266.065 266.065 266.065 1000    1200    1400