10招!看骨灰级Pythoner如何玩转Python
pandas是基于numpy构建的,使数据分析工作变得更快更简单的高级数据结构和操作工具。本文为大家带来10个玩转Python的小技巧,学会了分分钟通关变大神! 1. read_csv 每个人都知道这个命令。但如果你要读取很大的数据,尝试添加这个参数:nrows = 5,以便在实际加载整个表之前仅读取表的一小部分。然后你可以通过选择错误的分隔符来避免错误(它不一定总是以逗号分隔)。 (或者,你可以在linux中使用'head'命令来检查任何文本文件中的前5行,例如:head -c 5 data.txt) 然后,你可以使用df.columns.tolist()来提取列表中的所有列,然后添加usecols = ['c1','c2',...]参数以加载所需的列。此外,如果你知道几个特定列的数据类型,则可以添加参数dtype = {'c1':str,'c2':int,...},以便数据加载得更快。此参数还有另一个优点,如果你有一个同时包含字符串和数字的列,那么将其类型声明为字符串是一个好选择,这样就可以在尝试使用此列作为键去合并表时不会出错。 2. select_dtypes 如果必须在Python中进行数据预处理,那么这个命令可以节约一些时间。读取表后,每列的默认数据类型可以是bool,int64,float64,object,category,timedelta64或datetime64。你可以先查看
命令分发的结果以了解数据帧的所有可能数据类型,然后执行
选择仅具有数字特征的子数据帧。 3. Copy 这是一个重要的命令。如果执行以下命令:
你会发现df1已经改变了。这是因为df2 = df1没有复制df1的值并将其分配给df2,而是设置指向df1的指针。因此,df2的任何变化都会导致df1发生变化 要解决这个问题,你可以:
或者
4. Map 这是一个可以进行简单数据转换的命令。首先定义一个字典,其中'keys'是旧值,'values'是新值。
举几个例子:True,False为1,0(用于建模); 定义水平; 用户定义的词法编码。 5. apply or not apply? 如果我们想创建一个新的列,并将其他列作为输入,那么apply函数有时非常有用。
在上面的代码中,我们定义了一个带有两个输入变量的函数,并使用apply函数将其应用于列'c1'和'c2'。 但“apply函数”的问题是它有时太慢了。 如果你想计算两列“c1”和“c2”的最大值,你可以:
但你会发现它比这个命令慢得多:
注意:如果可以使用其他内置函数完成相同的工作(它们通常更快),请不要使用apply。例如,如果要将列'c'舍入为整数,请执行round(df ['c'],0)而非使用apply函数:
6. value counts 这是一个检查值分布的命令。例如,如果你想检查“c”列中每个值的可能值和频率,可以执行以下操作
它有一些有用的技巧/参数:
7. 缺失值的数量 (编辑:ASP站长网) |