排序
reviews.groupby('points').points.count()
reviews.groupby('points').price.min()
reviews.groupby('winery').apply(lambda df: df.title.iloc[0]) # 返回每个winery分组里面第一个元素的title值
reviews.groupby(['country', 'province']).apply(lambda df: df.loc[df.points.argmax()]) # 根据两个元素进行分组,然后选出每组中points最大的元素。argmax 是series中最大值的index
reviews.groupby(['country']).price.agg([len, min, max]) #agg 返回一个dataframe
the order of the rows is dependent on the values in the index, not in the data.
多指针
groupby参数为多组时会出现
countries_reviewed.reset_index() # 重新赋予一个指针
sort
countries_reviewed.sort_values(by='某个数值特征名'', ascending=False) # ascend上升
countries_reviewed.sort_values(by=['country', 'len'])
数据类型
reviews.price.dtype
reviews.dtypes
reviews.points.astype('float64')
缺失数据
reviews[reviews.country.isnull()] # pd.notnull
reviews.region_2.fillna("Unknown")
reviews.taster_twitter_handle.replace("@kerinokeefe", "@kerino") # 替换
合并
pd.concat([df1, df4], axis=1, sort=False) # axis 0为纵向合并
其他
inplace 是对原dataframe进行修改还是结果储存为新dataframe
titanic_df['Fare'] = titanic_df['Fare'].astype(int)
等切分
train['CategoricalFare'] = pd.qcut(train['Fare'], 4) #qcut 根据数量 或者cut 根据取值
交叉表格 横行是一种属性 纵列是另一种属性
pd.crosstab(train['Title'], train['Sex'])
统一修改值
dataset['Sex'] = dataset['Sex'].map( {'female': 0, 'male': 1} ).astype(int)
idmax()
网友评论