从Dataframe构建选择

时间:2016-09-29 06:40:49

标签: python-3.x pandas

我想基于双重搜索参数从数据框构建选择。详细说明:

我已根据一个值在给定的Dataframe中构建搜索。该值可以多次给出。差异可以在值的行中找到。这是一个例子:

TECHNIKART  FSZ               BEZEICHNUNG                       FIRMA           PRODUKT_SPANNUNG     KLIMA             EW_KW                 MENGE_KW LEISTUNG_KW       ÜP 
GE-DSLAM    71E               SAM960E (BigDSLAM)                ECI             48V / 60V            ETS 300 019       6,5 / 4,5 / 2,25      1.5      -----             ÜP6  
GE-DSLAM    71E               Hi-FOCUS M41 (Outdoor)            ECI             48V / 60V  16        ETS 300 019       -----                 0.38     -----             Outdoor 
GE-DSLAM    71E               Hi-FOCUS M82 (THS, VDSL)          ECI             48V / 60V            ETS 300 019       -----                 0.95     -----             ÜP11  
GE-DSLAM    71E               hIX5635 (BigDSLAM)                Nokia Siemens   48V / 60V            ETS 300 019       n * 2,2               1.5     -----              ÜP4 

我从更大的Dataframe中跟踪搜索获得此Dataframe:

key = '71E'
try:
    geraet_dat2 = geraet_dat[geraet_dat.FSZ == key]
    lang = len(geraet_dat2.index)
    print(geraet_dat2)

现在我的想法是根据Dataframe的长度进行if-else查询。如果Dataframe有长度1,我将打印所需单元格的值。如果Dataframe长于1,则会显示以下弹出窗口:

def abfrage_selektion():
    popup_selektion = Tk()
    frame_selek = Frame(popup_selektion)
    frame_selek.pack()
    popup_selektion.configure(bg="Snow2")
    popup_selektion.geometry('300x250')
    popup_selektion.title('Bitte Gerät auswählen!')

    LABEL_SELEKTION = LabelFrame(popup_selektion, text="Bitte Gerät auswählen: ")
    LABEL_SELEKTION.place(x = 2, y = 2, width = 296, height = 246)
    INFO = ttk.Label(LABEL_SELEKTION, justify=CENTER, text="Diese FSZ ist mehrfach verfügbar! \nBitte das entsprechende Gerät wählen!")
    INFO.place(x = 50, y = 5)
    SEPTR_1 = ttk.Separator(LABEL_SELEKTION, orient=HORIZONTAL)
    SEPTR_1.place(x = 5, y = 40, width = 280)
    GERAET = ttk.LabelFrame(LABEL_SELEKTION, text="Geräte: ")
    GERAET.place(x = 15, y = 50, width = 260, height = 120)
    LISTE = Listbox(GERAET, yscrollcommand=True)
    LISTE.insert(1, '1')
    LISTE.insert(2, '2')
    LISTE.insert(3, '3')
    LISTE.insert(4, '4')
    LISTE.place(x = 5, y = 2, width = 240, height = 90)
    SEPTR_2 = ttk.Separator(LABEL_SELEKTION, orient=HORIZONTAL)
    SEPTR_2.place(x = 5, y = 180, width = 280)
    BUTTON_OK = ttk.Button(LABEL_SELEKTION, text="OK")
    BUTTON_OK.place(x = 5, y = 190, width = 280, height = 30)

对我而言,一切都很好。

但现在我不知道如何解决这一点: 在弹出窗口中,我希望从具有多个数据集的给定Dataframe中进行选择,以选择所需的数据。选择的标准应该是BEZEICHNUNG'和' PRODUKT_SPANNUNG'。

你有什么想法我能做到这一点吗?我在网上搜索但没有找到一个很好的解决方案。

谢谢你的帮助!

0 个答案:

没有答案