主要是为了方便自己查找
1引入自定义module
import sys
#被引用模块所在的路径
sys.path.append("D:/Code/PythonCode/project02/recsys_core-master")
#然后再引用模块
import common.common as common #自定义的数据库连接
2reset_index()
数据清洗时,会将带空值的行删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引。
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=‘’)
level控制了具体要还原的那个等级的索引
在获得新的index,原来的index变成数据列,保留下来。
不想保留原来的index,使用参数 drop=True,默认 False。
inplace表示对DataFrame是否重新赋值。
3df去除索引保存到csv
df.to_csv("result_test_csv\submission.csv", index=False) # index=None去除索引(等同于index=False),index=True保留索引
4 df转string
root = df['用户名'].values.astype(str)[0]
root
5pd.read_csv/pd.read_table参数详解
6分组
7drop和dropna的区别
dropna(self, axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
axis=0、index,删除空值所在行,index表示删除哪一行,默认为行
axis=1、columns,删除空值所在列,columns表示删除哪些列。
how:选择删除的模式,有any和all两种。
any:只要存在空值即删除所在行列,默认为any。default
all:所在行或列如果全是空值,则删除
thresh:指定当一行或一列存在多少非空值时,保留该行或该列
subset:传入一个列表,指定相应的列名,如果指定列内有空值,则删除所在行,可以和how搭配。
inplace:执行操作后,将返回值赋值给df。default=“False”
DataFrame.drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise’)
labels:按照标签删除对应的行或列,接受单个标签或是一个列表。
level:针对多级标签。多级标签计算时,从0开始。
errors:如果传入的标签不存在,会报错,KeyError,errors可以忽略报错。可选择raise和ignore,default=raise
删除为0的行
df = df.replace(0, np.nan)# 把0替换成nan
df = df.dropna(how='all', axis=0)# 删除所有为nan的行
sort_values()按值排序
对dataframe按某一列的值进行排序,或者按某一行的值进行排序。具体的参数设置如下:
参数
DataFrame.sort_values(by,axis = 0,ascending = True,inplace = False,kind =’ quicksort ',na_position =‘last’ )
#参数说明
by: str或str的列表,如果axis=0或axis=‘index’,那么by=‘列名’;如果axis=1或axis=‘columns’,那么by=‘行名’
axis: {0或’index’;1或’columns’} 默认为0,即纵向排序,如果为1,则为横向排序
ascending: 布尔型,默认为True,即升序
inplace: 布尔型,是否用排序后的数据代替现有数据
kind: 排序算法, {‘quicksort’,‘mergesort’,‘heapsort’},默认’quicksort’
na_position: {‘first’,‘last’},默认’last’ ,即将缺失值放在最后。
总结:
之前对于按行和按列一直都很难记,也就是axis=0或者axis=1这个。这个可以这样理解,axis=0表示行需要发生变动,需要排序,axis=1表示数据的列的位置要发生变动,这样好像就好记了。
get_dummies()
数据预处理,独热编码等,好用
将data中的每一列扩充为-------》每一列的类别分别一列,是则为1,否则为0
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False)
- data : array-like, Series, or DataFrame
输入的数据 - prefix : string, list of strings, or dict of strings, default None
get_dummies转换后,列名的前缀 - columns : list-like, default None
指定需要实现类别转换的列名 - dummy_na : bool, default False
增加一列表示空缺值,如果False就忽略空缺值 - drop_first : bool, default False
获得k中的k-1个类别值,去除第一个