簡體   English   中英

按 date_range 從 DataFrame 中選擇行

[英]Select rows from a DataFrame by date_range

我有以下數據框:

       FAK_ART    FAK_DAT  LEIST_DAT      KD_CRM MW_BW       EQ_NR MATERIAL  \
0         ZPAF 2015-05-18 2015-05-31         D     E  100107  S   
1         ZPAF 2015-05-18 2015-05-31         D     B  100107  S   
2         ZPAF 2015-05-18 2015-05-31         D     E  100108  S   
3         ZPAF 2015-05-18 2015-05-31         D     B  100108  S   
4         ZPAF 2015-05-18 2015-05-31         D     E  100109  S   
5         ZPAF 2015-05-18 2015-05-31         D     B  100109  S   
6         ZPAF 2015-05-18 2015-05-31         D     E  100110  S   
7         ZPAF 2015-05-18 2015-05-31         D     B  100110  S   
8         ZPAF 2015-05-18 2015-05-31         D     E  100111  S 

. . .

387976    ZPAF 2016-02-12 2016-02-29  CP     B  100686   S   
387977    ZPAF 2016-02-12 2016-02-29  CP     B  100686   S   
387978    ZPAF 2016-02-12 2016-02-29  CP     E  100712   S   
387979    ZPAF 2016-02-12 2016-02-29  CP     B  100712   S   
387980    ZPAF 2016-02-12 2016-02-29  CP     E  100735   S   
387981    ZPAF 2016-02-12 2016-02-29  CP     B  100735   S   
387982    ZPAF 2016-02-12 2016-02-29  CP     B  100735   S   
387983    ZPAF 2016-02-12 2016-02-29  CP     E  100748   S   
387984    ZPAF 2016-02-12 2016-02-29  CP     B  100748   S   
387985    ZPAF 2016-02-12 2016-02-29  CP     E  100760   S

現在我只想選擇日期為 2015-05-31 的行。

我試着用 date_range 處理它,但我總是得到錯誤:

ValueError:值的長度與索引的長度不匹配

ValueError: 必須指定開始、結束或句點中的兩個

我的想法是:

data_faktura['LEIST_DAT'] = pd.date_range('2016-01-31', '2016-01-31')

但后來我得到一個錯誤!

我該如何解決或解決這個問題?

您可以從set_indexLEIST_DAT ,然后按ix選擇:

#change 2016-02-29 to your datetime
data_fakture = data_fakture.set_index('LEIST_DAT').ix['2016-02-29']
print (data_fakture)
           FAK_ART     FAK_DAT      KD_CRM MW_BW       EQ_NR MATERIAL
LEIST_DAT                                                            
2016-02-29    ZPAF  2016-02-12  CP     B  100686   S
2016-02-29    ZPAF  2016-02-12  CP     B  100686   S
2016-02-29    ZPAF  2016-02-12  CP     E  100712   S
2016-02-29    ZPAF  2016-02-12  CP     B  100712   S
2016-02-29    ZPAF  2016-02-12  CP     E  100735   S
2016-02-29    ZPAF  2016-02-12  CP     B  100735   S
2016-02-29    ZPAF  2016-02-12  CP     B  100735   S
2016-02-29    ZPAF  2016-02-12  CP     E  100748   S
2016-02-29    ZPAF  2016-02-12  CP     B  100748   S
2016-02-29    ZPAF  2016-02-12  CP     E  100760   S

或者loc

data_fakture = data_fakture.set_index('LEIST_DAT').loc['2016-02-29']
print (data_fakture)
           FAK_ART     FAK_DAT      KD_CRM MW_BW       EQ_NR MATERIAL
LEIST_DAT                                                            
2016-02-29    ZPAF  2016-02-12  CP     B  100686   S
2016-02-29    ZPAF  2016-02-12  CP     B  100686   S
2016-02-29    ZPAF  2016-02-12  CP     E  100712   S
2016-02-29    ZPAF  2016-02-12  CP     B  100712   S
2016-02-29    ZPAF  2016-02-12  CP     E  100735   S
2016-02-29    ZPAF  2016-02-12  CP     B  100735   S
2016-02-29    ZPAF  2016-02-12  CP     B  100735   S
2016-02-29    ZPAF  2016-02-12  CP     E  100748   S
2016-02-29    ZPAF  2016-02-12  CP     B  100748   S
2016-02-29    ZPAF  2016-02-12  CP     E  100760   S

您還可以按開始和結束日期進行選擇:

data_fakture = data_fakture.set_index('LEIST_DAT').ix['2015-05-31':'2016-02-29']
print (data_fakture)
           FAK_ART     FAK_DAT      KD_CRM MW_BW       EQ_NR MATERIAL
LEIST_DAT                                                            
2015-05-31    ZPAF  2015-05-18         D     E  100107  S
2015-05-31    ZPAF  2015-05-18         D     B  100107  S
2015-05-31    ZPAF  2015-05-18         D     E  100108  S
2015-05-31    ZPAF  2015-05-18         D     B  100108  S
2015-05-31    ZPAF  2015-05-18         D     E  100109  S
2015-05-31    ZPAF  2015-05-18         D     B  100109  S
2015-05-31    ZPAF  2015-05-18         D     E  100110  S
2015-05-31    ZPAF  2015-05-18         D     B  100110  S
2015-05-31    ZPAF  2015-05-18         D     E  100111  S
2016-02-29    ZPAF  2016-02-12  CP     B  100686   S
2016-02-29    ZPAF  2016-02-12  CP     B  100686   S
2016-02-29    ZPAF  2016-02-12  CP     E  100712   S
2016-02-29    ZPAF  2016-02-12  CP     B  100212   S
2016-02-29    ZPAF  2016-02-12  CP     E  100735   S
2016-02-29    ZPAF  2016-02-12  CP     B  100735   S
2016-02-29    ZPAF  2016-02-12  CP     B  100735   S
2016-02-29    ZPAF  2016-02-12  CP     E  100748   S
2016-02-29    ZPAF  2016-02-12  CP     B  100748   S
2016-02-29    ZPAF  2016-02-12  CP     E  100760   S

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM