IT评测·应用市场-qidao123.com

标题: 【理论积累】Python中的Pandas库【一】 [打印本页]

作者: 用户云卷云舒    时间: 2023-6-6 15:58
标题: 【理论积累】Python中的Pandas库【一】
Pandas库介绍

Pandas 是一个用于数据分析的 Python 第三方库,能够处理和分析不同格式的数据,例如:CSV、Excel、SQL 数据库等。Pandas 提供了两种数据结构,分别为 Series 和 DataFrame,灵活而方便地进行数据分析和操作。
以下是 Pandas 的核心概念和功能:
Pandas 的功能十分丰富,可以处理任何类型的数据和数据结构,并提供多种方式进行数据操作和分析。由于其易学易用和高效性,Pandas 已成为数据科学和数据分析领域必不可少的工具之一。
如何从CSV、Excel、JSON等不同文件格式中读取数据到Pandas中?

Pandas 支持读取和写入多种数据文件格式,包括 CSV、Excel、JSON 等。下面是一些示例代码,演示如何将不同的文件格式读取到 Pandas 中。
从 CSV 文件中读取数据:
  1. import pandas as pd data = pd.read_csv('data.csv') print(data)
复制代码
从 Excel 文件中读取数据:
  1. import pandas as pd data = pd.read_excel('data.xlsx', sheet_name='Sheet1') print(data)
复制代码
 从 JSON 文件中读取数据:
  1. import pandas as pd data = pd.read_json('data.json') print(data)
复制代码
你还可以设置读取时的参数,例如解析数据的方式、数据类型等。在 Pandas 中,有许多参数可以配置,以适应不同的需求和数据类型。可以参考官方文档以了解更多信息。
如何在Pandas中处理缺失值(NaN)?

Pandas中处理缺失值有以下几种方法:
下面是一个示例代码,演示如何使用Pandas处理缺失值:
  1. import pandas as pd
  2. import numpy as np
  3. # 创建包含NaN的DataFrame
  4. data = {'A': [1, 2, np.nan, 4],
  5.         'B': [5, np.nan, np.nan, 8],
  6.         'C': [9, 10, 11, 12]}
  7. df = pd.DataFrame(data)
  8. # 使用dropna删除包含NaN的行
  9. df1 = df.dropna()
  10. print(df1)
  11. # 使用fillna将NaN替换为0
  12. df2 = df.fillna(0)
  13. print(df2)
  14. # 使用fillna将NaN替换为平均值
  15. df3 = df.fillna(df.mean())
  16. print(df3)
  17. # 使用isna返回布尔值
  18. df4 = df.isna()
  19. print(df4)
  20. # 使用replace替换值
  21. df5 = df.replace(np.nan, 0)
  22. print(df5)
复制代码
输出结果
  1.      A    B   C
  2. 0  1.0  5.0   9
  3. 3  4.0  8.0  12
  4.      A    B   C
  5. 0  1.0  5.0   9
  6. 1  2.0  0.0  10
  7. 2  0.0  0.0  11
  8. 3  4.0  8.0  12
  9.      A    B   C
  10. 0  1.0  5.0   9
  11. 1  2.0  6.5  10
  12. 2  2.333333  6.5  11
  13. 3  4.0  8.0  12
  14.        A      B      C
  15. 0  False  False  False
  16. 1  False   True  False
  17. 2   True   True  False
  18. 3  False  False  False
  19.      A    B   C
  20. 0  1.0  5.0   9
  21. 1  2.0  0.0  10
  22. 2  0.0  0.0  11
  23. 3  4.0  8.0  12
复制代码
如何对Pandas中的数据进行简单的描述性统计?

Pandas中可以使用describe方法对数据进行简单的描述性统计,包括计数、平均数、标准差、最小值、25%,50%和75%分位数以及最大值等。具体实现步骤如下:
  1. import pandas as pd
  2. # 读取csv文件
  3. data = pd.read_csv('data.csv')
  4. # 对整个数据框进行描述性统计
  5. data.describe()
  6. # 对特定列进行描述性统计(例如,统计age列的描述性统计)
  7. data['age'].describe()
复制代码
如何对Pandas中的数据进行分组与聚合操作?

Pandas中的数据分组和聚合操作可以通过groupby方法来实现。具体步骤如下:
总之,Pandas的数据分组和聚合操作非常灵活,可以根据不同的需求进行不同的操作,提供了很大的便利性。
如何使用Pandas进行日期和时间处理?

Pandas支持datetime格式的数据,可以使用pandas.to_datetime函数将字符串格式的日期转换为datetime格式,并进行各类日期和时间的计算和操作。
以下是一些常用的日期和时间处理方法:
  1. import pandas as pd
  2. import datetime
  3. # 创建日期时间索引
  4. dates = pd.date_range(start='20220101', end='20220110', freq='D')
  5. print(dates)
  6. # 转换日期格式
  7. date_str = '20220101'
  8. date_obj = pd.to_datetime(date_str, format='%Y-%m-%d')
  9. print(date_obj)
  10. # 获取日期时间属性
  11. print(date_obj.year)
  12. print(date_obj.month)
  13. print(date_obj.day)
  14. print(date_obj.hour)
  15. print(date_obj.minute)
  16. print(date_obj.second)
  17. # 偏移量计算
  18. date_offset = pd.DateOffset(months=1)
  19. new_date = date_obj + date_offset
  20. print(new_date)
  21. # 时间序列重采样
  22. data = pd.DataFrame({'date': dates, 'value': range(len(dates))})
  23. data.set_index('date', inplace=True)
  24. resample_data = data.resample('W').sum()
  25. print(resample_data)
  26. # 日期时间操作
  27. delta = datetime.timedelta(days=30)
  28. new_date = date_obj + delta
  29. print(new_date)
复制代码
如何在Pandas中进行数据的透视和堆叠操作?

Pandas中可以通过pivot_table()函数进行数据透视,也可以通过stack()函数进行数据堆叠。下面是示例代码:
  1. import pandas as pd
  2. # 创建数据集
  3. df = pd.DataFrame({
  4.    'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
  5.    'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
  6.    'C': [1, 2, 3, 4, 5, 6, 7, 8],
  7.    'D': [10, 20, 30, 40, 50, 60, 70, 80]
  8. })
  9. # 进行数据透视
  10. result = df.pivot_table(values='D', index=['A', 'B'], columns=['C'])
  11. print(result)
复制代码
  1. C          1     2     3     4     5     6     7     8
  2. A   B                                                
  3. bar one   20.0   NaN   NaN   NaN   NaN  60.0   NaN   NaN
  4.     three  NaN   NaN   NaN  40.0   NaN   NaN   NaN   NaN
  5.     two    NaN  20.0   NaN   NaN   NaN  60.0   NaN   NaN
  6. foo one   10.0   NaN   7.0   NaN   NaN   NaN  70.0   NaN
  7.     three  NaN   NaN   NaN   NaN   NaN   NaN   NaN  80.0
  8.     two   50.0  30.0   NaN   NaN  50.0   NaN   NaN   NaN
复制代码
  1. import pandas as pd
  2. # 创建数据集
  3. df = pd.DataFrame({
  4.    'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
  5.    'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
  6.    'C': [1, 2, 3, 4, 5, 6, 7, 8],
  7.    'D': [10, 20, 30, 40, 50, 60, 70, 80]
  8. })
  9. # 进行数据堆叠
  10. stacked = df.stack()
  11. print(stacked)
复制代码
  1. 0  A      foo
  2.    B      one
  3.    C        1
  4.    D       10
  5. 1  A      bar
  6.          ...
  7. 6  C        7
  8.    D       70
  9. 7  A      foo
  10.    B    three
  11.    C        8
  12.    D       80
复制代码
如何在Pandas中进行数据的可视化?

Pandas提供了多种数据可视化方法,其中常用的是基于Matplotlib的可视化。以下是在Pandas中进行数据可视化的步骤:
  1. import pandas as pd
  2. import matplotlib.pyplot as plt
  3. # 读取数据
  4. data = pd.read_csv('data.csv')
  5. df = pd.DataFrame(data)
  6. # 清洗数据
  7. df = df.dropna()
  8. # 绘制柱状图
  9. df.plot(kind='bar', x='country', y='population')
  10. plt.title('Population by Country')
  11. plt.xlabel('Country')
  12. plt.ylabel('Population')
  13. plt.show()
  14. # 绘制散点图
  15. df.plot(kind='scatter', x='gdp_per_capita', y='life_expectancy')
  16. plt.title('Relationship between GDP per capita and life expectancy')
  17. plt.xlabel('GDP per capita')
  18. plt.ylabel('Life expectancy')
  19. plt.show()
复制代码
如何在Pandas中进行数据的筛选和排序?

在Pandas中,可以使用以下的方式对数据进行筛选和排序:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4