首页 > 解决方案 > Python Pandas - 返回特定列下的值数

问题描述

我正在使用一个 excel 文件,其中有一列名为'HEIGHT'.

我想返回此列中值的数量。

此列中有空白值,所以我只想要实际数字的计数。

我已经尝试过df['HEIGHT'],但是即使它们没有值,它也会返回所有行。

我也想知道如何删除列中没有值的所有行'HEIGHT'

标签: pythonpandas

解决方案


我决定解决两种不同的情况,一种是获取NaN列的值height,另一种是获取空白区域。

import pandas as pd
import numpy as np

情况一:

data = {'Height':[100,110,104,np.NaN,200,np.NaN],'Name':['Franky','Coby','Robin','Kanjuro','Tom','Ace']}
df = pd.DataFrame(data)

解决方案1:

df = df.dropna(subset=['Height'],axis=0)
values = df['Height'].tolist()
print(values)

情况2:

data = {'Height':[100,110,104,'',200,''],'Name':['Franky','Coby','Robin','Kanjuro','Tom','Ace']}
df = pd.DataFrame(data)

解决方案2:

df['Height'] = pd.to_numeric(df['Height'],errors='coerce')
df = df.dropna(subset=['Height'],axis=0)
values = df['Height'].tolist()
print(values)

两个输出都是:

[100.0, 110.0, 104.0, 200.0]

推荐阅读