描述: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'