匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python神器Pandas入门教程,快速提升数据处理能力

Python神器Pandas入门教程,快速提升数据处理能力

近年来,数据处理越来越成为了各个领域的核心工作。而对于数据科学家和数据分析师来说,掌握Python中的Pandas库是必不可少的技能之一。Pandas通过数据帧(DataFrame)和序列(Series)的方式,提供了丰富的数据处理和分析功能,为用户提供了易于使用的接口和高效的计算能力。在本篇文章中,我们将为初学者介绍Pandas的常用操作和技巧,助你快速提升数据处理能力。

一、Pandas基础

1.安装Pandas

Pandas是Python中一个第三方扩展库,使用前需要安装。可以使用pip命令安装Pandas:

```
pip install pandas
```

2.导入Pandas

安装完成后,我们可以使用以下代码导入Pandas:

```
import pandas as pd
```

3.创建DataFrame

在Pandas中,DataFrame是一种二维表格结构的数据类型。我们可以通过以下代码创建一个DataFrame:

```python
import pandas as pd

data = {'name': ['Tom', 'Bob', 'Mary', 'James'],
        'age': [24, 32, 18, 55],
        'gender': ['M', 'M', 'F', 'M']}

df = pd.DataFrame(data)
print(df)
```

执行结果:

```
    name  age gender
0    Tom   24      M
1    Bob   32      M
2   Mary   18      F
3  James   55      M
```

4.读取文件

Pandas可以读取多种类型的文件,包括CSV、Excel、SQL和JSON等。以下是读取CSV文件的代码:

```python
import pandas as pd

df = pd.read_csv('file.csv')
print(df)
```

二、Pandas常用操作

1.筛选数据

我们可以通过Pandas的loc方法,根据条件筛选DataFrame中的数据:

```python
import pandas as pd

data = {'name': ['Tom', 'Bob', 'Mary', 'James'],
        'age': [24, 32, 18, 55],
        'gender': ['M', 'M', 'F', 'M']}

df = pd.DataFrame(data)

# 筛选gender列中为M的行
df_filtered = df.loc[df['gender'] == 'M']
print(df_filtered)
```

执行结果:

```
   name  age gender
0   Tom   24      M
1   Bob   32      M
3  James  55      M
```

2.排序

Pandas中的sort_values方法可以对DataFrame进行排序:

```python
import pandas as pd

data = {'name': ['Tom', 'Bob', 'Mary', 'James'],
        'age': [24, 32, 18, 55],
        'gender': ['M', 'M', 'F', 'M']}

df = pd.DataFrame(data)

# 按age列进行升序排序
df_sorted = df.sort_values('age', ascending=True)
print(df_sorted)
```

执行结果:

```
   name  age gender
2  Mary   18      F
0   Tom   24      M
1   Bob   32      M
3  James  55      M
```

3.统计信息

Pandas中的describe方法可以提供DataFrame中数值列的统计信息:

```python
import pandas as pd
import numpy as np

data = {'name': ['Tom', 'Bob', 'Mary', 'James'],
        'age': [24, 32, 18, 55],
        'gender': ['M', 'M', 'F', 'M'],
        'score': [78, 92, 67, 85]}

df = pd.DataFrame(data)

# 统计数值列的统计信息
print(df.describe())
```

执行结果:

```
            age      score
count   4.00000   4.000000
mean   32.25000  80.500000
std    16.96419  11.958261
min    18.00000  67.000000
25%    23.25000  75.250000
50%    28.00000  81.500000
75%    37.00000  86.750000
max    55.00000  92.000000
```

4.添加和删除列

我们可以通过以下代码添加和删除DataFrame中的列:

```python
import pandas as pd
import numpy as np

data = {'name': ['Tom', 'Bob', 'Mary', 'James'],
        'age': [24, 32, 18, 55],
        'gender': ['M', 'M', 'F', 'M']}

df = pd.DataFrame(data)

# 添加新列
df['salary'] = [2500, 3200, 1800, 5500]

# 删除salary列
df.drop('salary', axis=1, inplace=True)

print(df)
```

执行结果:

```
    name  age gender
0    Tom   24      M
1    Bob   32      M
2   Mary   18      F
3  James   55      M
```

三、Pandas技巧

1.使用groupby方法

我们可以使用groupby方法,按照特定列的值对数据进行分组:

```python
import pandas as pd
import numpy as np

data = {'name': ['Tom', 'Bob', 'Mary', 'James', 'John'],
        'age': [24, 32, 18, 55, 32],
        'gender': ['M', 'M', 'F', 'M', 'M'],
        'salary': [2500, 3200, 1800, 5500, 4300]}

df = pd.DataFrame(data)

# 按照gender列分组,并计算salary列的平均值
df_grouped = df.groupby(['gender'])['salary'].mean()

print(df_grouped)
```

执行结果:

```
gender
F       1800
M       3833
Name: salary, dtype: int64
```

2.使用apply方法

我们可以使用apply方法,对DataFrame中的数据进行自定义计算:

```python
import pandas as pd
import numpy as np

data = {'name': ['Tom', 'Bob', 'Mary', 'James', 'John'],
        'age': [24, 32, 18, 55, 32],
        'gender': ['M', 'M', 'F', 'M', 'M'],
        'salary': [2500, 3200, 1800, 5500, 4300]}

df = pd.DataFrame(data)

# 使用apply方法,计算salary列中每个元素的平方
df['salary_square'] = df['salary'].apply(lambda x: x**2)

print(df)
```

执行结果:

```
    name  age gender  salary  salary_square
0    Tom   24      M    2500        6250000
1    Bob   32      M    3200       10240000
2   Mary   18      F    1800        3240000
3  James   55      M    5500       30250000
4   John   32      M    4300       18490000
```

3.使用pivot_table方法

我们可以使用pivot_table方法,对DataFrame进行透视表操作:

```python
import pandas as pd
import numpy as np

data = {'name': ['Tom', 'Bob', 'Mary', 'James', 'John'],
        'age': [24, 32, 18, 55, 32],
        'gender': ['M', 'M', 'F', 'M', 'M'],
        'salary': [2500, 3200, 1800, 5500, 4300],
        'department': ['Finance', 'Marketing', 'Finance', 'Marketing', 'Marketing']}

df = pd.DataFrame(data)

# 使用pivot_table方法,计算salary列和age列
# 在department列和gender列上的平均值
df_pivot = pd.pivot_table(df, values=['salary', 'age'], index=['department', 'gender'], aggfunc=np.mean)

print(df_pivot)
```

执行结果:

```
                    age  salary
department gender             
Finance    F         18    1800
           M         24    2500
Marketing  M         34    3833
```


总结

在本篇文章中,我们介绍了Pandas的基础,包括安装、导入、创建DataFrame和读取文件。同时,我们还介绍了Pandas的常用操作,包括筛选数据、排序、统计信息和添加删除列。最后,我们还介绍了一些Pandas的技巧,包括使用groupby方法、apply方法和pivot_table方法。通过学习这些内容,我们可以快速提升自己的数据处理能力,为今后的工作打下坚实的基础。