15. Memory_usage
Memory_usage()
返回每列使用的内存量(以字节为单位)。考虑下面的数据,其中每一列有一百万行。
df_large=pd.DataFrame({'A': np.random.randn(1000000), 'B': np.random.randint(100, size=1000000)}) df_large.shape(1000000, 2)
每列占用的内存:
df_large.memory_usage() Index128A8000000B8000000dtype: int64
整个 dataframe 占用的内存(转换为以MB为单位):
df_large.memory_usage().sum() / (1024**2) #convertingtomegabytes15.2589111328125
16. Describe
describe
函数计算数字列的基本统计信息,这些列包括计数、平均值、标准偏差、最小值和最大值、中值、第一个和第三个四分位数。因此,它提供了dataframe的统计摘要。
17. Merge
Merge()
根据共同列中的值组合dataframe。考虑以下两个数据:
我们可以基于列中的共同值合并它们。设置合并条件的参数是“on”参数。
df1和df2是基于column_a列中的共同值进行合并的,merge
函数的how
参数允许以不同的方式组合dataframe,如:“inner”、“outer”、“left”、“right”等。
- inner:仅在on参数指定的列中具有相同值的行(如果未指定其它方式,则默认为 inner 方式)
- outer:全部列数据
- left:左一dataframe的所有列数据
- right:右一dataframe的所有列数据
18. Select_dtypes
Select_dtypes
函数根据对数据类型设置的条件返回dataframe的子集。它允许使用include和exlude参数包含或排除某些数据类型。
df.select_dtypes(include='int64')
df.select_dtypes(exclude='int64')
19. Replace
顾名思义,它允许替换dataframe中的值。第一个参数是要替换的值,第二个参数是新值。
df.replace('A', 'A_1')
我们也可以在同一个字典中多次替换。
df.replace({'A':'A_1', 'B':'B_1'})
20. Applymap
Applymap
用于将一个函数应用于dataframe中的所有元素。请注意,如果操作的矢量化版本可用,那么它应该优先于applymap。例如,如果我们想将每个元素乘以一个数字,我们不需要也不应该使用applymap函数。在这种情况下,简单的矢量化操作(例如df*4
)要快得多。
然而,在某些情况下,我们可能无法选择矢量化操作。例如,我们可以使用pandas dataframes的style属性更改dataframe的样式。以下代码将负值的颜色设置为红色:
defcolor_negative_values(val): color='red'ifval<0else'black'return'color: %s'%color
通过Applymap
将上述代码应用到dataframe:
df3.style.applymap(color_negative_values)