Python 仅从列中删除值

Python 仅从列中删除值,python,pandas,nan,Python,Pandas,Nan,我有一个数据框,其中包含一些字符串值,我正在将其转换为整数,以便将来进行计算。列df['Age']中的值存在一些标记为NaN值的错误。使用dropna函数,我丢失了整个行的一半以及其他列中的大量数据。如何在不更改主数据框的情况下,仅选择df['Age']中不是NaN值的值进行进一步计算 df['Age'] = np.where(pd.to_numeric(df['Age'], 'coerce').notnull(), df['Age'], NaN) df = df.dropna(subset=[

我有一个数据框,其中包含一些字符串值,我正在将其转换为整数,以便将来进行计算。列
df['Age']
中的值存在一些标记为
NaN
值的错误。使用
dropna
函数,我丢失了整个行的一半以及其他列中的大量数据。如何在不更改主数据框的情况下,仅选择
df['Age']
中不是
NaN
值的值进行进一步计算

df['Age'] = np.where(pd.to_numeric(df['Age'], 'coerce').notnull(), df['Age'], NaN)
df = df.dropna(subset=['Age'])
df['Age'] = df['Age'].astype(int)

df['Age']
转换为数值后,使用另一个带切片的变量

例如,假设您有一个
收入
字段:

another_df = df['income'][~ps.isnull(df['age'])] * 2
或者,更一般地说:

another_df = df['income'][~ps.isnull(df['age'])].apply(lambda x: x*2)
您可以使用
apply
调用中的任何函数


注意:原始数据框
df
保持不变

以选择年龄不为空的行:

df[df.Age.notnull()]
或者你只想要年龄:

df[[df.Age.notnull()].Age

您能否提供DataFrame的示例?您希望如何处理NAN?您是否尝试过:
.dropna()
?。。。我不明白你的意思,对不起!@使用
dropna()
函数删除整行时使用风滚草。我需要来自同一行但来自另一列的数据,因此
dropna()
不是right函数。我想从
df['Age']
中选择数据,而不选择
NaN
值,用它执行一些计算,但不删除任何行。我需要清理列“边界”中的数据。谢谢,第二列给出了所需的结果