Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在忽略非数值的情况下忽略数据帧groupby sum_Python_Python 3.x_Pandas_Dataframe_Pandas Groupby - Fatal编程技术网

Python 在忽略非数值的情况下忽略数据帧groupby sum

Python 在忽略非数值的情况下忽略数据帧groupby sum,python,python-3.x,pandas,dataframe,pandas-groupby,Python,Python 3.x,Pandas,Dataframe,Pandas Groupby,我有一个如下所示的数据帧。“延迟”列既有数字字符又有“NA”字符,这使得groupby变得复杂 DEVICE START_PRICE LATENCY 0 ab.fxx.in 500 NA 1 ab.fxx.in 500 1 2 ab.fxx.in 500 5 3 kddo.fxx.in 500 NA 4 kddo.fxx.in 500

我有一个如下所示的数据帧。“延迟”列既有数字字符又有“NA”字符,这使得groupby变得复杂

    DEVICE       START_PRICE   LATENCY
0   ab.fxx.in    500           NA
1   ab.fxx.in    500           1    
2   ab.fxx.in    500           5
3   kddo.fxx.in  500           NA
4   kddo.fxx.in  500           5
5   kddo.fxx.in  533           3
6   kddo.fxx.in  533           NA
我想通过绕过“NA”值,将数据帧按“设备”值分组为“延迟”之和。我应该得到如下输出

DEVICE       
ab.fxx.in      6
kddo.fxx.in    8
在使用groupby之前,可以将延迟序列转换为数字

使用errors='concure'可确保在转换不成功的情况下具有NaN值。当您使用groupby.sum时,pandas会通过忽略它们来优雅地处理这些问题

df['LATENCY'] = pd.to_numeric(df['LATENCY'], errors='coerce')

res = df.groupby('DEVICE')['LATENCY'].sum().reset_index()

print(res)

        DEVICE  LATENCY
0    ab.fxx.in      6.0
1  kddo.fxx.in      8.0