如何连续删除单个值?

时间:2019-11-10 12:22:03

标签: python pandas

我正在执行平衡面板回归。由于几个变量缺少值,因此我需要将它们相等地删除以保持平衡。但是,当我删除NA时,整行将被删除,而其中可能包含其他变量的重要信息。当我使用均无效的NA或Inf值进行计算时,会将它们视为零或inf。如何删除NA值,或在计算中跳过NA?

我删除了行。我试图在计算中跳过它们,但没有成功。

资产收益率的计算示例。 Net_income和Total_assets都缺少值。虽然包含其他变量的行本身确实具有有效值。

df['ROA'] = df['net_income'] / df['total_assets']

1 个答案:

答案 0 :(得分:0)

列的大小必须相同。 您可以使用Numpy:

如果有:

import numpy as np
import pandas as pd
df = pd.DataFrame([[1,2],[1,np.nan],[1,2]],columns=['id','age'])

您可以使用np.divide

A = np.divide(df['id'].values,df['age'].values)

答案是:

array([0.5, nan, 0.5])

现在您可以使用:

A = A[~np.isnan(A)]

那么您就有了:

[0.5 0.5]