Pandas是Python中广泛使用的一个数据分析包。市场上有许多关于Pandas的经典教程,但是这篇文章介绍了一些隐藏的炫酷小提示,我相信这会对你有所帮助。
1.read_csv
它是读取数据的入门命令。如果要读取的数据量特别大,试着加上这个参数nrows=5,那么可以在加载所有数据之前,先读取一小部分。因此,您可以避免选择分隔符等错误了(数据不必全部以逗号分隔)。
然后,可以使用df.columns.tolist()提取每个列并将其转换为List。也可以加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
这条令人惊叹的命令可以轻松地进行数据转换。先定义一个dichary,“key”是转换之前的旧值,“values”是转换之后的新值。
一些合适的场景:将True、False转换为1、0(用于建模);定义级别;使用字典编码。
5.value counts
该命令用来检查分布的值。
这里有一些有用的提示/参数:
(1)normalize=True:查看每一值出现的频率,而非频次数。
(2)Dropna=False:将丢失的值保留在此统计数据中。
(3)sort=False:根据值而非按出现次数对数据进行排序。
(4)df['c].value_counts().reset_index():将这个统计表转换成pandas的dataframe并且进行处理。
6.缺少值的数量
在建立一个模型时,我们可以删除包含太多缺失值或所有缺失值的行。此时.isnull()和.sum()可用于计算指定列中缺少值的数量。
以上就是小编列举的关于使用Pandas的小技巧。还有一种方法用于处理整数值与缺失值混淆的情况。若一列包含一个缺失值和一个整数值,则该列的数据类型将由int改为float。在导出表格时,您可以在float_format='%.0f'以便将所有的浮点数近似成整数。如果您希望将所有列的输出值转换为整数格式,那么可以使用此技巧,这样在告别所有数值时,您将不会有“.0”问题。