机器学习手册学习笔记--数据整理

191 阅读1分钟

仅供自己复习回顾使用,若有侵权可删除

描述:

shape  head() tail() describe() 

替换:

dataframe['Sex'].replace(["female","male"], ["Woman","Man"])  #regex=True) #正则表达

重命名:

dataframe.rename(columns={'PClass': 'Passenger Class', 'Sex': 'Gender'})

import collections

column_names = collections.defaultdict(str)

for name in dataframe.columns:

    column_names[name]

column_names #生成一个键是旧列名的空字典,方便改名

唯一值: 

dataframe['Sex'].unique() #查找该列的唯一值

dataframe['Sex'].value_counts() #对值计数

dataframe['PClass'].nunique()  # 查看唯一值的个数

缺失值:

dataframe[dataframe['Age'].isnull()]   #np.nan

删除:

dataframe.drop(['Age', 'Sex'], axis=1) 

去重:

dataframe.drop_duplicates(subset=['Sex']) 

分组:

dataframe.groupby(['Sex','Survived'])['Age'].mean() 

按时间分组:

time_index = pd.date_range('06/06/2017', periods=100000, freq='30S')

dataframe = pd.DataFrame(index=time_index)

dataframe['Sale_Amount'] = np.random.randint(1, 10, 100000)

dataframe.resample('W').sum() #按周求和,resample 要求索引的类型必须是类 datetime 的值

#resample 会返回时间组的右边界的值(最后一个标签),作为这个组的标签。可以通过使用 label 参数改变这个行为

apply函数:

def uppercase(x):

    return x.upper()

dataframe['Name'].apply(uppercase)

连接:

pd.concat([dataframe_a, dataframe_b], axis=0) #连接数据

dataframe_a.append(row, ignore_index=True)

合并:

pd.merge(dataframe_employees, dataframe_sales, on='employee_id', how='outer') #合并两个数据

#left_on='employee_id',right_on='employee_id'