'create new column with values with np.where function in python
Hi I'm collecting data from 3 different input files and combining in to one and I like to check the compliant of 3 different columns(all these column values should contains same value to be compliant). based on the check I will create a new column which indicates the status of the compliance check (see below desired output)
df_serial_compliance = pd.DataFrame({"Serial Number Compliance":[]})
df_data = {"Serial Number 1":["", "F5349H2", "FX626H2", "H1JFZF2", "5TBBMH2", "4DN7PH2"] , "Serial Number 2":["DVMYNH2", "F5349H2", "", "5TBBMH2","5TBBMH2", "4DN7PH2"], "Serial Number 3":["5TBBMH2", "F5349H2", "FX626H2", "5TBBMH2","", "4DN7PH2"]}
df_serial = pd.DataFrame(df_data, columns=["Serial Number 1", "Serial Number 2","Serial Number 3"])
print(df_serial)
df_serial["Serial Number Compliance"] = np.where((df_serial["Serial Number 1"] == df_serial["Serial Number 2"]) & (df_serial["Serial Number 1"] == df_serial["Serial Number 3"]) ,"YES","NO")
print(df_serial)
the out put is :
Serial Number 1 Serial Number 2 Serial Number 3
0 DVMYNH2 5TBBMH2
1 F5349H2 F5349H2 F5349H2
2 FX626H2 FX626H2
3 H1JFZF2 5TBBMH2 5TBBMH2
4 5TBBMH2 5TBBMH2
5 4DN7PH2 4DN7PH2 4DN7PH2
Serial Number 1 Serial Number 2 Serial Number 3 Serial Number Compliance
0 DVMYNH2 5TBBMH2 NO
1 F5349H2 F5349H2 F5349H2 YES
2 FX626H2 FX626H2 NO
3 H1JFZF2 5TBBMH2 5TBBMH2 NO
4 5TBBMH2 5TBBMH2 NO
5 4DN7PH2 4DN7PH2 4DN7PH2 YES
The desired output is:
Serial Number 1 Serial Number 2 Serial Number 3
0 DVMYNH2 5TBBMH2
1 F5349H2 F5349H2 F5349H2
2 FX626H2 FX626H2
3 H1JFZF2 5TBBMH2 5TBBMH2
4 5TBBMH2 5TBBMH2
5 4DN7PH2
Serial Number 1 Serial Number 2 Serial Number 3 Serial Number Compliance
0 DVMYNH2 5TBBMH2 S1 is null
1 F5349H2 F5349H2 F5349H2 YES
2 FX626H2 FX626H2 S2 is null
3 H1JFZF2 5TBBMH2 5TBBMH2 NO
4 5TBBMH2 5TBBMH2 S3 is null
5 4DN7PH2 NO
Edited: if more than one column have null value the result should be "NO can you help/advice how can I achieve this, please ? many thanks in advance
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
