1%的人知道的pandas骚操作,传授给你

1. pandas简介

pandas是一个用于数据处理和分析的Python库,它基于NumPy库,提供了灵活高效的数据结构和数据分析工具。pandas提供了两种重要的数据结构:Series和DataFrame。Series是一种一维的数据结构,可以存储任何类型的数据。DataFrame是一个二维表格型的数据结构,它有行和列,类似于Excel表格,可以储存不同类型的数据。

在进行数据分析时,pandas的数据处理功能可以帮助我们快速处理数据,进行数据清洗、数据修整、数据聚合、数据变换等操作。

2. pandas骚操作

2.1 一键绘制数据分布图-hist()

使用hist()函数能够很方便的一键绘制数据分布图。

import pandas as pd

import matplotlib.pyplot as plt

import numpy as np

s = pd.Series(np.random.randint(0,7,size=10))

s.hist()

plt.show()

该操作可以帮助我们更直观的观察数据的分布情况,为数据的分析提供便利。

2.2 复杂类型的数据列自动展开-explode()

在读取数据的过程中,有时会遇到某些列中数据类型为list等复杂数据类型,我们需要展开这个列表,一种很快捷的方法就是使用explode()函数。

import pandas as pd

df = pd.DataFrame({'id':[1,2],'tags':[['a','b'],['a','c']]})

df = df.explode('tags')

print(df)

该操作可以帮助我们将复杂数据类型的内容展开,使其更便于数据的处理和分析。

2.3 交替行选取样本-sample()

在进行数据分析时,我们可能需要随机选择部分样本来进行分析。shuffle()可以随机打乱DataFrame的行,sample()函数则可以帮助我们交替行选取样本,这里为大家提供了一个例子。

import pandas as pd

df = pd.DataFrame([1,2,3,4,5,6,7,8,9], columns=['num'])

print(df.sample(frac=0.5))

该操作可以帮助我们更快速和高效的获取随机数据集合,从而更好的进行数据处理。

2.4 数组的等间距切分-qcut()

在进行分析时,我们希望将某一区间数据切分为等间距的区间,这时候就可以使用qcut()函数。

import pandas as pd

import numpy as np

arr = np.random.randn(20)

data_cut = pd.qcut(arr, 4)

print(data_cut)

该操作可以帮助我们直接进行区间切分,便于后续数据处理和分析。

2.5 数据的多表连接-merge()

pandas提供了多种方法进行数据的连接和合并,其中merge()重要功能可用于多个数据集之间的连接。

import pandas as pd

left = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': range(4)})

right = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': range(4,8)})

pd.merge(left, right, on='key')

该操作可以帮助我们快速合并多个数据集。

2.6 数据的分组统计-groupby()

在进行数据分析时,数据的分组统计往往是必不可少的,groupby()则是一个很好的统计函数,它可以帮助我们实现某些操作对分组后的数据进行。

import pandas as pd

df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'],

'B': ['one', 'one', 'two', 'three','two', 'two', 'one', 'three'],

'C': np.random.randn(8),

'D': np.random.randn(8)})

df.groupby('A').sum()

该操作可以帮助我们方便的进行数据分组,从而更好的实现数据的分析和处理。

2.7 数据的透视表处理-pivot_table()

pandas的pivot_table()函数可以帮助我们从DataFrame中快速生成透视表,透视表往往在数据分析中非常实用。

import pandas as pd

df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'],

'B': ['one', 'one', 'two', 'three','two', 'two', 'one', 'three'],

'C': np.random.randn(8),

'D': np.random.randn(8)})

pd.pivot_table(df, values='C', index=['A'], columns=['B'])

该操作可以帮助我们更直观的进行数据分析,同时也提高了数据分析的效率。

2.8 数据的合并去重-concat()、drop_duplicates()

在进行数据处理的过程中,我们可能需要将多个数据集合并,并去除其中重复的数据,pandas提供了concat()、drop_duplicates()函数来实现这些操作。

import pandas as pd

df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': range(4)})

df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': range(4,8)})

df = pd.concat([df1, df2])

df = df.drop_duplicates()

该操作可以帮助我们更好地统一多个数据集,去除其中的重复数据,为后续的数据处理和分析提供便利。

后端开发标签