简体   繁体   English

选择不同的列python pandas

[英]select different column python pandas

I have a question how to select different column(create new series) based on another column value. 我有一个问题,如何基于另一个列值选择不同的列(创建新系列)。 raw data as following: 原始数据如下:

              DEST_ZIP5   EXP_EDD_FRC_DAY  GND_EDD_FRC_DAY  \
        0     00501                      5                6   
        1     00544                      5                6   
        2     01001                      4                8   
        3     01001                      4                8   
        4     01001                      4                8  

      EXP_DAY_2  EXP_DAY_3  EXP_DAY_4  EXP_DAY_5           ...            \
    0        0.0       1.00       1.00        1.0           ...             
    1        0.0       1.00       1.00        1.0           ...             
    2        0.0       0.85       1.00        1.0           ...             
    3        0.0       1.00       1.00        1.0           ...             
    4        0.0       0.85       0.85        1.0           ...             


       GND_DAY_3  GND_DAY_4  GND_DAY_5  GND_DAY_6  GND_DAY_7  GND_DAY_8  \
    0        NaN        NaN        NaN        NaN        NaN        NaN   
    1        NaN        NaN        NaN        NaN        NaN        NaN   
    2        0.0        0.0       0.16       0.33       0.83       1.00   
    3        0.0        0.0       0.00       0.14       0.71       0.85   
    4        0.1        0.1       0.20       0.40       0.40       0.60  

I want to have two new data serize which get the number value of for responding column. 我想要两个新的数据序列化,它们获取响应列的数值。
(the row 1, EXP_EDD_FRC_DAY =5, so, return df[EXP_DAY_5]. GND_EDD_FRC_DAY =6, return df[GND_DAY_6] (第1行,EXP_EDD_FRC_DAY = 5,因此,返回df [EXP_DAY_5]。GND_EDD_FRC_DAY= 6,返回df [GND_DAY_6]

            DEST_ZIP5   EXP_percentage  GND_percentage  \
        0     00501                      1.0                NaN   
        1     00544                      1.0                NaN   
        2     01001                      1.0                 1.00   
        3     01001                      1.0                0.85   
        4     01001                      0.85                0.60 

I found function lookup. 我发现了函数查找。 Not not sure how to use that. 不确定如何使用。

Thank you very much 非常感谢你

- -

IIUC: IIUC:

c = df['EXP_EDD_FRC_DAY'].astype(str).radd('GND_DAY_')
new_series = pd.Series(df.lookup(df.index, c), df.index)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM