如何在一行中删除单个值?

2024-09-25 00:27:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我把那些排都扔了。我试图在计算中跳过它们,但没有成功。你知道吗

资产回报率的计算示例。净收入和总资产都缺少价值。而包含其他变量的行本身确实有有效值。你知道吗

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

Tags: 信息面板示例dfnet资产inf价值
1条回答
网友
1楼 · 发布于 2024-09-25 00:27:00

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

如果有:

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

您可以使用np.除法

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

答案是:

array([0.5, nan, 0.5])

现在您可以使用:

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

那么你就有了这个:

[0.5 0.5]

相关问题 更多 >