清洁和分组值

问题描述:

df = pd.read_csv(file, sep=',', encoding='ISO-8859-1') 

column_names = list(df.columns) 
col_mapping = {'Sex ':'Sex', 'Fatal (Y/N)': 'Fatal', 'Species ' : 'Species'} 
df = df.rename(columns=col_mapping, copy=False) 

我已经转换了数据,从DF [“年龄”]列包含该值的字母或其它符号采取的NaN清洁和分组值

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

我试图值使用df.dropna(df.Age)清除NaN值,但它给我:TypeError:'系列'对象是可变的,因此它们不能被哈希

我想知道如何设置此问题以及如何对结果值进行分组和计数bu范围(即18 - 25年:215,25 - 50:300)婷

+1

为了帮助进行分组,你需要表现出一定的样本数据,并给更好地描述你想看到的内容。看到这篇文章的指导http://*.com/help/mcve – piRSquared

您要使用的参数subset

df = df.dropna(subset=['Age']) 
+0

它不工作,任何变化,当我打印出df ['年龄']仍然有NaN值 – Sinchetru

+0

你必须指定它 – piRSquared

+0

它的工作原理!谢谢! – Sinchetru

我发现回答以下四个分组问题:

df['Age']=df[['Age']].astype(int) 
Grouped_Age = pd.cut(df.Age,[5, 10, 20, 50, 100], right=True) 
Age_counts = Grouped_Age.value_counts()