熊猫:如果A列中的行包含字符串“ x”,“ y”,“ z”,则将““ x _”,“ y _”,“ z_”写到B列中

时间:2019-08-28 16:13:04

标签: python string pandas

对于大熊猫,我正在寻找一种方法,用于根据A列中相应行的子字符串将条件值写入B列中的每一行。

因此,如果A中的单元格包含“ WMEAS”,请向B写“ MEASURED”。或者,如果A中的单元格包含“ WRES”,请向B写“ Residue”,或者A中的单元格包含“ WPRES”,请写“百分比” “到B,

我尝试将str.contains方法与map一起使用。正如我提到的,使用Map我可以使用两个变量true,false,但不能同时使用这四个变量。

create_table['Field_Type'] = create_table ['Field_Type'].map({True: 'Measured', False: 'Estimated'})```


Desired Output :


Field_Name    Field_Type
WMEAS_LD(1)   Measured
RMEAS_LD(1)    Measured
W_LD(1)        Estimated
WPRES_LN(1)    Percentage
WRES_UN(1)      Residual.


[![This is how dataset look like][1]][1]


  [1]: https://i.stack.imgur.com/qaRQm.png

2 个答案:

答案 0 :(得分:0)

您可以迭代查找所需的所有组合

<plugin>
    <groupId>fr.inria.gforge.spoon</groupId>
    <artifactId>spoon-maven-plugin</artifactId>
    <executions>
        <execution>
            <configuration>
                <processors>
                    <processor>com.xxxxxx.spoon.utils.RootElementAnnotationProcessor</processor>
                </processors>
                <processorProperties>
                    <processorProperty>
                        <name>com.xxxxxx.spoon.utils.RootElementAnnotationProcessor</name>
                        <properties>
                            <property>
                                <name>classToUpdate</name>
                                <value>com.xxxxxx.rnaservices.Geocode</value>
                            </property>
                        </properties>
                    </processorProperty>
                </processorProperties>
            </configuration>
            <phase>generate-sources</phase>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
</plugin>

答案 1 :(得分:0)

您可以遍历“ A”列,然后使用df.at []设置“ B”值

for index, row in df.iterrows():
     if(df.at[index,'A'] == "WMEAS"):
          df.at[index,'B'] = "Measured"
     elif other conditions  
          and operations