![](/img/trans.png)
[英]Pandas Dataframe replace Nan from a row when a column value matches
[英]How to select a particular column value from a pandas dataframe when another column in the same row is NaN?
我是熊猫的新手,我正在尝试做一个简单的操作。 我正在尝试进行比较,并在满足条件时从列中选择一些值。 但是我不知道如何在熊猫中给出这些条件。 使用列表非常简单,但在数据框中对我来说是新的。
代码示例如下:
import pandas as pd
df = pd.DataFrame({'Student_Subjects_Initial': ['A','B','C','D'],
'Student_Marks_Initial': [10,23,3,45],
'Student_Subjects_Final': ['A',np.nan,'C','D'],
'Student_Marks_Final': [10,23,3,np.nan]})
这将在df
给我以下内容:
Student_Subjects_Initial Student_Marks_Initial Student_Subjects_Final Student_Marks_Final
0 A 10 A 10.0
1 B 23 nan 23.0
2 C 3 C 3.0
3 D 45 D nan
我想做的是从Student_Subjects_Initial
中选择值,其中Student_Subjects_Final
是nan
。 因此,我的输出应该只是:
Mismatches_Student_Subject_Initial:
B
但是我无法全神贯注地为熊猫数据框编写条件。
有人可以帮忙吗? 提前致谢。
df[df.Student_Subjects_Final.isnull()].Student_Subjects_Initial.to_string(index=False)
或使用loc
df.loc[df['Student_Subjects_Final'].isnull()].Student_Subjects_Initial.to_string(index=False)
这可以通过过滤具有所需值的行来简单地实现。
df = df[df['Student_Subjects_Final'].isnull()]
print(df.Student_Marks_Initial)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.