常用Pandas操作(笔记整理)

目录

一、常用

1、创建DataFrame(数据导入)

2. 查看数据前⼏⾏(head)

3. 查看数据后⼏⾏(tail)

4. 查看数据基本信息(info)

5. 使⽤ value_counts 计算唯⼀值的频率

6. 描述性统计信息(describe)

7. 选择列

8. 选择多列

9. 选择⾏(loc)

10. 选择特定⾏和列(loc)

11. 多条件选择

12. 使⽤ at 和 iat 快速访问元素

13. 使⽤ isin 进⾏过滤

14. 使⽤ query 进⾏条件查询

15. 按列排序数据 (sort_values)

16. 使⽤ astype 进⾏数据类型转换

17. 处理缺失值(dropna)

18. 填充缺失值(fillna)

19. 使⽤ duplicated 和 drop_duplicates 处理重复值

20. 新增列

21. 删除列(drop)

22. 重命名列(rename)

23. 使⽤ replace 进⾏值替换

24. 使⽤ mask 进⾏条件替换

25. 分组统计(groupby、agg)

26. 使⽤ nlargest 和 nsmallest 获取最⼤和最⼩值

27. 合并 DataFrame(concat)

28. ⽇期时间处理(to_datetime)

29. 保存 DataFrame 到⽂件(to_csv)

30. 从⽂件加载数据到 DataFrame(read_csv)

31. 使⽤ apply 函数对列进⾏操作

32. 使⽤ map 函数进⾏值替换

33. 使⽤ cut 函数进⾏分箱处理

34. 使⽤ groupby 和 transform 进⾏组内操作

二、其他

1. 字符串处理(str)

2. 使⽤ pipe 进⾏链式操作(pipe)

3. 合并 DataFrame(基于键)(merge)

4. 透视表(pivot_table)


一、常用

1、创建DataFrame(数据导入)

         使⽤字典创建 DataFrame

import pandas as pd

data = {'ID': [101, 102, 103, 104, 105],
        'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
        'Age': [25, 30, 22, 35, 28],
        'Salary': [50000, 60000, 45000, 75000, 55000],
        'Status': ['Active', 'Inactive', 'Active', 'Active', 'Inactive']}

df = pd.DataFrame(data)

2. 查看数据前⼏⾏(head)

df.head()
        ⽤于查看 DataFrame 的前⼏⾏,默认为前 ⾏。
        运行结果:

3. 查看数据后⼏⾏(tail)

df.tail()
         ⽤于查看 DataFrame 的后⼏⾏,默认为后 ⾏。

        运行结果:

4. 查看数据基本信息(info)

df.info()
        提供 DataFrame 的基本信息,包括每列的⾮空值数量和数据类型。

        运行结果:

5. 使⽤ value_counts 计算唯⼀值的频率

df['Column'].value_counts()

        使⽤ value_counts 计算某列中每个唯⼀值的频率。

        运行结果: 

6. 描述性统计信息(describe)

df.describe()

# 常用
df.describe([0.01, 0.1, 0.25, 0.5, 0.75, 0.9, 0.99]).T
        提供 DataFrame 的描述性统计信息,包括均值、标准差、最⼩值、25%分位数、中位数(50%分位数)、75%分位数和最⼤值。

        运行结果:

7. 选择列

df['ColumnName']
        通过列名选择 DataFrame 中的⼀列。
        运行结果:

8. 选择多列

df[['Column1', 'Column2']]
        通过列名列表选择 DataFrame  中的多列。

        运行结果:

9. 选择⾏(loc)

df.loc[index]

        通过索引标签选择 DataFrame 中的⼀⾏。

        运行结果:

10. 选择特定⾏和列(loc)

df.loc[index, 'ColumnName']
        通过索引标签和列名选择 DataFrame 中的特定元素。

        运行结果:

11. 多条件选择

df[(df['Column1'] > value1) & (df['Column2'] == value2)]
        使⽤逻辑运算符(& :与,|:或,~:⾮)结合多个条件进⾏过滤。

        运行结果:

12. 使⽤ at 和 iat 快速访问元素

df.at[index, 'ColumnName']
df.iat[index, columnIndex]

        使⽤ at 和 iat 快速访问DataFrame中的元素。

        运行结果: 

13. 使⽤ isin 进⾏过滤

df[df['Column'].isin(['value1', 'value2'])]
        使⽤ isin 过滤包含在给定列表中的值的⾏。

        运行结果: 

14. 使⽤ query 进⾏条件查询

df.query('Column > value')
         使⽤ query 进⾏条件查询。

        运行结果:

15. 按列排序数据 (sort_values)

df.sort_values(by='ColumnName', ascending=False)

# ascending:True升序,False降序
        根据指定列的值进⾏升序或降序排序。

        运行结果:

16. 使⽤ astype 进⾏数据类型转换

df['NewColumn'] = df['Column'].astype(float)

        使⽤ astype 将列的数据类型转换为指定类型。

17. 处理缺失值(dropna)

df.dropna()
        删除包含缺失值的⾏。

        运行结果:

18. 填充缺失值(fillna)

df.fillna(value)
        ⽤指定值填充缺失值。
# 使用均值填充缺失值
df.fillna(df.mean())

19. 使⽤ duplicated 和 drop_duplicates 处理重复值

df.duplicated(subset=['Column1', 'Column2'])

df.drop_duplicates(subset=['Column1', 'Column2'], keep='first')

# keep  'first'(默认):保留每个重复组中的第一个出现的行。
#       'last':保留每个重复组中的最后一个出现的行。

        使⽤ duplicated 检测重复值,使⽤ drop_duplicates 删除重复值。

         运行结果:

20. 新增列

df['NewColumn'] = values
        新增⼀列,并为其赋值。

        运行结果:

21. 删除列(drop)

df.drop('ColumnName', axis=1)
        删除指定列。

        运行结果:

22. 重命名列(rename)

df.rename(columns={'OldName': 'NewName'}, inplace=True)
        重命名指定列。

        运行结果:

23. 使⽤ replace 进⾏值替换

df.replace({'OldValue': 'NewValue'})

        使⽤ replace 替换DataFrame中的值。

        运行结果:

24. 使⽤ mask 进⾏条件替换

df['NewColumn'] = df['Column'].mask(df['Condition'])

        使⽤ mask 根据条件替换值。

        运行结果:

25. 分组统计(groupby、agg)

df.groupby('ColumnName').agg({'Column1': 'mean', 'Column2': 'sum'})
        按照指定列进⾏分组,然后进⾏聚合统计。

        运行结果:

26. 使⽤ nlargest 和 nsmallest 获取最⼤和最⼩值

df.nlargest(5, 'ColumnName')
df.nsmallest(5, 'ColumnName')

        使⽤ nlargest 获取最⼤值,使⽤ nsmallest 获取最⼩值。

        运行结果:

27. 合并 DataFrame(concat)

pd.concat([df1, df2], axis=0)
        沿着指定轴合并两个 DataFrame
# axis=0:垂直合并两个DataFrame
# axis=1:水平合并两个DataFrame

pd.concat([df1, df2], axis=0)

28. ⽇期时间处理(to_datetime)

df['DateTimeColumn'] = pd.to_datetime(df['DateTimeColumn'])
        将字符串列转换为⽇期时间类型。

format

参数符号

说明
%y两位数的年份表示(00-99)
%Y四位数的年份表示(000-9999)
%m月份(01-12)
%d月内中的一天(0-31)
%H24小时制小时数(0-23)
%M分钟数(00-59)
%S秒(00-59)
%j年内的一天(001-366)
%W一年中的星期数(00-53)星期一为星期的开始
%w星期(0-6),星期天为星期的开始

29. 保存 DataFrame 到⽂件(to_csv)

df.to_csv('filename.csv', index=False)
        将 DataFrame 保存为 CSV ⽂件。

30. 从⽂件加载数据到 DataFrame(read_csv)

df = pd.read_csv('filename.csv')
        从⽂件中加载数据到DataFrame

31. 使⽤ apply 函数对列进⾏操作

df['NewColumn'] = df['Column'].apply(lambda x: x * 2)
        使⽤ apply 函数 对某列的每个元素进⾏操作,可传递⾃定义函数。

        运行结果:

32. 使⽤ map 函数进⾏值替换

df['Status'] = df['Status'].map({'Active': 1, 'Inactive': 0})
        使⽤ map函数 根据字典或函数替换列中的值。

        运行结果:

33. 使⽤ cut 函数进⾏分箱处理

df['AgeGroup'] = pd.cut(df['Age']
                        ,bins=[20, 30, 40, 50]
                        ,labels=['20-30', '30-40', '40-50'])
        使⽤ cut 函数将数值列分成不同的箱⼦,⽤标签表示。

        运行结果:

34. 使⽤ groupby 和 transform 进⾏组内操作

df['MeanSalaryByAge'] = df.groupby('Age')['Salary'].transform('mean')
         使⽤ groupby 和 transform 在组内进⾏操作,并将结果⼴播到原始 DataFrame。

二、其他

1. 字符串处理(str)

df['StringColumn'].str.method()
        对字符串列进⾏各种处理,如切⽚、替换等。

2. 使⽤ pipe 进⾏链式操作(pipe)

df.pipe(func1).pipe(func2, arg1='value').pipe(func3)
         使⽤ pipe 进⾏链式操作,将多个操作组合在⼀起。

3. 合并 DataFrame(基于键)(merge)

pd.merge(df1, df2, on='KeyColumn', how='inner')
        使⽤指定列进⾏合并,指定合并⽅式(内连接、左连接、右连接、外连接)。

4. 透视表(pivot_table)

pd.pivot_table(df, values='ValueColumn', index='IndexColumn', columns='ColumnToPivot', aggfunc='mean')
        创建透视表,汇总数据。

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pandas是Python中一个强大的数据分析库,它可以轻松地读取、处理和分析各种数据类型,包括Excel表格。本文将介绍如何使用Pandas操作Excel文件,并提供相应的笔记PDF文件进行参考。 要使用Pandas操作Excel文件,首先需要安装Pandas库。在安装完Pandas之后,我们可以使用"pandas.read_excel"函数来读取Excel文件。该函数可以接受Excel文件路径作为参数,并返回一个Pandas的DataFrame对象,以便我们进行后续的数据操作和分析。 一旦我们读取了Excel文件,就可以使用Pandas提供的各种函数来对数据进行处理和分析。例如,我们可以使用"head"函数来查看数据的前几行,使用"describe"函数来获取数据的统计信息,或者使用"sort_values"函数对数据进行排序等等。这些函数可以帮助我们更好地理解和掌握数据,从而做出更准确的分析和决策。 此外,Pandas还提供了一些函数来进行数据的筛选、修改和计算。我们可以使用"loc"和"iloc"函数来选择特定的行和列,使用"fillna"函数来填充空值,使用"apply"函数对某一列数据进行自定义计算等等。这些函数的使用可以帮助我们快速地完成数据的处理和分析任务。 最后,我们可以将Pandas的DataFrame对象转换为PDF文件,以便记录我们的数据处理和分析过程。可以使用"df.to_pdf"函数将DataFrame对象保存为PDF文件,该文件可以作为笔记使用,方便我们回顾和分享。 总之,Pandas提供了丰富而强大的功能,可以帮助我们轻松地操作Excel文件,并进行相关的数据处理和分析。同时,我们可以将操作过程记录为PDF文件,方便日后参考和分享。 ### 回答2: pandas操作Excel的方法非常方便,可用于读取、写入和操作Excel文件。下面是关于pandas操作Excel的笔记。 1. 读取Excel文件:可以使用`pandas.read_excel()`函数来读取Excel文件,并将其转换为DataFrame对象。可以通过指定文件路径、工作表名称和其他参数来读取不同的工作表和数据。 2. 数据筛选操作:我们可以使用pandas的各种函数和方法对Excel中的数据进行筛选操作。例如,`df.drop()`可以删除指定的行或列,`df.loc()`可以按条件选择数据等。这些方法可以帮助我们根据需要对Excel中的数据进行处理和分析。 3. 数据写入Excel:使用`pandas.DataFrame.to_excel()`函数可以将DataFrame对象写入到Excel文件中。可以通过指定文件路径和其他参数来实现对Excel文件的写入操作。 4. 数据统计和计算:pandas提供了许多内置函数和方法来进行数据的统计和计算操作。例如,`df.mean()`可以计算平均值,`df.sum()`可以计算总和等。这些函数和方法可以帮助我们快速计算和分析Excel中的数据。 总之,pandas是一个强大的工具,可以方便地操作Excel文件。它提供了许多函数和方法,可以帮助我们读取、写入和处理Excel中的数据。通过使用pandas,我们可以更高效地进行数据分析和处理工作,在处理大量数据时尤其有用。无论是初学者还是有经验的数据分析师,都可以受益于pandas在Excel操作中的优势。 ### 回答3: pandas是一个在Python中用于数据分析操作的强大库。它提供了大量的函数和方法,方便我们对Excel文件进行读取、写入和处理。下面是关于pandas操作Excel的一些笔记: 1. 读取Excel文件: 我们可以使用pandas的`read_excel()`函数来读取Excel文件。只需要传入Excel文件的路径或URL即可。读取后的数据可以保存在DataFrame对象中,方便后续的操作和分析。 2. 写入Excel文件: 利用pandas,我们可以使用`to_excel()`函数将数据从DataFrame对象写入Excel文件中。我们可以指定文件的输出路径和文件名,还可以设置写入的sheet名称和是否包含行索引。 3. 数据操作和处理: pandas提供了丰富的数据处理功能。我们可以对读取的Excel数据进行选取、过滤、排序、合并、拆分等操作。比如可以使用`df.head()`来获取数据的前几行,使用`df.describe()`来获取数据的基本统计信息。 4. 数据筛选和过滤: 在pandas中,我们可以使用布尔索引来筛选和过滤数据。比如可以使用`df[df['列名'] > 值]`来获取满足条件的数据行。 5. 数据统计和分析: pandas提供了丰富的数据统计和分析函数,可以方便地进行数据聚合、求和、平均值等操作。比如可以使用`df.groupby('列名').mean()`来对数据进行分组并计算平均值。 6. 缺失值处理: 如果Excel文件中存在缺失值,我们可以使用pandas的函数来处理缺失值。比如使用`df.dropna()`来删除包含缺失值的行,使用`df.fillna(value)`来填充缺失值。 总之,pandas提供了丰富的函数和方法,方便我们对Excel文件进行读取、写入和处理。它不仅简化了数据操作的流程,还可以高效地处理大量的数据。通过对pandas的学习和应用,我们可以更好地处理和分析Excel数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值