Python EXCEL:dataframe处理案例:配对、删除列、重命名和组合

python+Excel系列:数据导入和整理模块—pandas ①Series数据结构:Series类似于通过NumPy模块创建的一维数组,不同的是Series对象不仅包含数值,还包含一组索引。 可以看到,s是一个一维数据结构,并且每个元素都有一个可以用来定位的行索引,例如,可以通过s[1]定位到第2个元素’B’Series很少单独使用,我们学习pandas模块主要是为了使用它提供 的DataFrame数据结构。DataFrame是一种二维表格数据结构,可以将其看成一个Excel表格。DataFrame可以通过列表、字典或二维数组创建。利用pandas模块中的Data 阅读详情

示例数据集

Level 0Level 1Level 2Level 3Level 4Level 5Level 6Level 7Level 8Level 9Level 10
0!&5证券代码所属行业名称交易币种证券简称分析师评级2024090220240903202409042024090520240906
1!000007房地产CNY平安AAA10.1110.0810.0210.0710.08
2!000008机械制造CNH万AAAA6.426.526.466.596.47
3!000009电力设备HKD*ST国CCC11.6112.2512.0811.9511.67
4!000010建筑装饰USD深振AAA3.794.174.134.214.12
5!000011房地产CNH全好BBB4.644.624.584.774.73
6!000012非金属材料HKD沙份AAA1.951.961.931.941.96
7!000014房地产CNY深AAAA7.387.727.887.837.72
8!000026纺织服装与珠宝CNH华ABB1.71.691.671.691.68
9!000027公用事业CNY深股AA7.47.67.667.787.56
10!000028医疗CNH发AAA55.044.954.984.88

要求

  1. 删除列:Level 0 和 Level 4。

  2. 定义评级映射:

    • 评级列表: [‘AAA’,‘AA’,‘A’,‘BBB’,‘BB’,‘B’,‘CCC’,‘CC’,‘C’,‘D’]
    • 数字列表: [1,2,3,4,5,6,7,8,9,10]
    • 如果遇到没有的评级,我们可以映射到10(D)或者报错,这里我们映射到10。
  3. 添加两列:RateE(原Level 5列的值)和RateS(映射后的数字)。

  4. 重命名列:Level 2->code, Level 3->industry, Level 4->Eco。

  5. 将code列设置为索引。

  6. 按行业分组,得到行业到DataFrame的字典。

import pandas as pd

def create_rating_mapping(rating_list, value_list):
    """
    创建评级映射字典
    
    参数:
    rating_list: 评级字符串列表,如 ['AAA', 'AA', 'A', 'BBB', ...]
    value_list: 对应的数值列表,如 [1, 2, 3, 4, ...]
    
    返回:
    评级映射字典
    """
    return dict(zip(rating_list, value_list))

def process_dataframe(df_, rating_mapping=None):
    """
    处理数据框函数
    
    参数:
    df: 输入的数据框
    rating_mapping: 评级映射字典,如果为None则使用默认映射
    
    返回:
    按行业分组的字典,键为行业名称,值为对应的数据框
    """
    # 深度拷贝并处理列名
    df = df_.copy(deep=True)
    
    # 提取列名行(第二行)作为新列名
    new_columns = df.iloc[0].values
    df.columns = new_columns
    
    # 删除前两行(原列名行和!&5行)
    df = df.iloc[1:].reset_index(drop=True)
    
    # 步骤1:删除不需要的列
    df = df.drop(columns=['!&5', '证券简称'])
    
    # 如果没有提供评级映射,则创建默认映射 (支持10个等级)
    if rating_mapping is None:
        ratings = ['AAA', 'AA', 'A', 'BBB', 'BB', 'B', 'CCC', 'CC', 'C', 'D']
        values = list(range(1, 11))
        rating_mapping = create_rating_mapping(ratings, values)
    
    # 步骤2: 处理分析师评级
    # 将原评级列重命名为"RateE",并创建新列"RateS"映射数字评级
    df['RateS'] = df['分析师评级']
    df['RateS'] = df['分析师评级'].map(rating_mapping).fillna(10).astype(int)  # 未映射的评级设为10
    df = df.drop(columns=['分析师评级'])  # 删除原来的Level 6列
    
    # 步骤3: 重命名列
    df = df.rename(columns={
        '证券代码': 'code',
        '所属行业名称': 'industry',
        '交易币种': 'Eco'
    }).set_index('code')
    
    # 步骤4: 根据行业分组,分成不同的DataFrame
    industry_groups = df.groupby('industry')
    industry_dfs = {industry: group for industry, group in industry_groups}
    
    return industry_dfs

使用示例:

# 创建自定义评级映射 (如果需要)
custom_ratings = ['AAA', 'AA+', 'AA', 'AA-', 'A+', 'A', 'A-', 'BBB+', 'BBB', 'BBB-']
custom_values = list(range(1, 11))
custom_mapping = create_rating_mapping(custom_ratings, custom_values)

# 处理数据框
result_dfs = process_dataframe(df, custom_mapping)

# 或者使用默认映射
result_dfs = process_dataframe(df)

# 访问特定行业的数据
real_estate_df = result_dfs['房地产']

对于mapping的思考

import pandas as pd
import numpy as np

def convert_rating_column(df, original_col, new_col, rating_mapping, default_value=np.nan):
    """
    从指定列提取评级信息并转换为数值等级
    
    参数:
    df: pandas DataFrame
    original_col: 原始列名(包含评级信息的字符串列)
    new_col: 新列名(转换后的数值列)
    rating_mapping: 评级到数值的映射字典,例如 {'AAA': 1, 'AA': 2, ...}
    default_value: 无法映射时的默认值,默认为NaN
    
    返回:
    包含原始列和新列的DataFrame
    """
    # 确保原始列存在
    if original_col not in df.columns:
        raise ValueError(f"列 '{original_col}' 不存在于DataFrame中")
    
    # 创建DataFrame的副本以避免修改原数据
    result_df = df.copy()
    
    # 提取评级信息并转换为数值
    def extract_and_map_rating(rating_str):
        if pd.isna(rating_str):
            return default_value
        
        # 分割字符串并获取最后一部分
        parts = str(rating_str).split('_')
        if len(parts) < 1:
            return default_value
            
        # 获取最后一个部分作为评级
        rating = parts[-1]
        
        # 根据映射字典转换
        return rating_mapping.get(rating, default_value)
    
    # 应用转换函数
    result_df[new_col] = result_df[original_col].apply(extract_and_map_rating)
    
    return result_df

使用示例

# 示例数据
data = {
    '分析评级': ['穆迪评级_25_AAA', '穆迪评级_30_AA', '穆迪评级_15_A', '穆迪评级_40_BBB', '穆迪评级_22_CCC', np.nan, '无效评级']
}

df = pd.DataFrame(data)

# 评级映射字典
rating_mapping = {
    'AAA': 1,
    'AA': 2,
    'A': 3,
    'BBB': 4,
    'BB': 5,
    'B': 6,
    'CCC': 7,
    'CC': 8,
    'C': 9,
    'D': 10
}

# 转换评级列
result_df = convert_rating_column(df, '分析评级', '评级数值', rating_mapping, default_value=-1)

print(result_df)

输出结果:

        分析评级  评级数值
0  穆迪评级_25_AAA     1
1   穆迪评级_30_AA     2
2    穆迪评级_15_A     3
3  穆迪评级_40_BBB     4
4  穆迪评级_22_CCC     7
5            NaN    -1
6         无效评级    -1

函数特点

  1. 灵活性:可以处理不同的评级格式和映射关系
  2. 容错性:处理NaN值和无法识别的评级格式
  3. 非破坏性:返回DataFrame的副本,不修改原始数据
  4. 可配置性:允许自定义默认值处理无法映射的情况

向量化操作

对于大型DataFrame,可以考虑使用向量化操作提高性能:

import pandas as pd
import numpy as np

def convert_rating_column_vectorized(df, original_col, new_col, rating_mapping, default_value=np.nan):
    """
    使用向量化操作高效地从指定列提取评级信息并转换为数值等级
    
    参数:
    df: pandas DataFrame
    original_col: 原始列名(包含评级信息的字符串列)
    new_col: 新列名(转换后的数值列)
    rating_mapping: 评级到数值的映射字典,例如 {'AAA': 1, 'AA': 2, ...}
    default_value: 无法映射时的默认值,默认为NaN
    
    返回:
    包含原始列和新列的DataFrame
    """
    # 确保原始列存在
    if original_col not in df.columns:
        raise ValueError(f"列 '{original_col}' 不存在于DataFrame中")
        
    result_df = df.copy()
    
    # 使用向量化操作提取评级部分
    extracted_ratings = result_df[original_col].astype(str).str.split('_').str[-1] # 先转换为字符串类型,然后使用str.split提取最后一部分
    
    # 使用map进行向量化映射
    mapped_ratings = extracted_ratings.map(rating_mapping) # 使用 pd.Series.map 以避免链式索引警告
    
    # 处理未映射的值:如果提供了非NaN的默认值,填充未映射的值
    if not pd.isna(default_value):
        mapped_ratings = mapped_ratings.fillna(default_value)
    
    # 使用loc确保直接赋值到DataFrame,避免链式索引
    result_df.loc[:, new_col] = mapped_ratings
    
    return result_df

减少复制,增加运行效率。

def convert_rating_column_optimized(df, original_col, new_col, rating_mapping, default_value=np.nan):
    """
    高效且准确地从指定列提取评级信息并转换为数值等级。
    使用字符串分割提取,但处理没有下划线的情况。
    
    参数:
    df: pandas DataFrame
    original_col: 原始列名(包含评级信息的字符串列)
    new_col: 新列名(转换后的数值列)
    rating_mapping: 评级到数值的映射字典,例如 {'AAA': 1, 'AA': 2, ...}
    default_value: 无法映射时的默认值,默认为NaN
    
    返回:
    包含原始列和新列的DataFrame
    """
    if original_col not in df.columns:
        raise ValueError(f"列 '{original_col}' 不存在于DataFrame中")
    
    # 使用向量化操作提取评级部分
    extracted_ratings = df[original_col].astype(str).str.split('_').str[-1] # 先转换为字符串类型,然后使用str.split提取最后一部分
    # 如果原始字符串中没有下划线,分割会返回整个字符串,这可能不是评级信息。
    
    # 使用map进行向量化映射
    mapped_ratings = extracted_ratings.map(rating_mapping) # 使用 pd.Series.map 以避免链式索引警告
    
    # 处理未映射的值:如果提供了非NaN的默认值,填充未映射的值
    if not pd.isna(default_value):
        mapped_ratings = mapped_ratings.fillna(default_value)
    
    # 使用.assign创建新列,避免修改原始DataFrame
    return df.assign(**{new_col: mapped_ratings})
def convert_rating_column_optimized(df, original_col, new_col, rating_mapping, default_value=np.nan):
    """
    Efficiently and accurately extracts rating information from a specified column 
    and converts it to numerical ratings.
    Uses string splitting for extraction with robust handling of cases without underscores.
    
    Parameters:
    df: pandas DataFrame
        Input DataFrame containing the rating data.
    original_col: str
        Name of the original column containing string rating information.
    new_col: str
        Name for the new column containing converted numerical ratings.
    rating_mapping: dict
        Dictionary mapping rating categories to numerical values (e.g., {'AAA': 1, 'AA': 2}).
    default_value: scalar, optional
        Default value for unmappable entries (defaults to np.nan).
    
    Returns:
    DataFrame
        DataFrame containing both the original column and the newly created rating column.
    """
    if original_col not in df.columns:
        raise ValueError(f"Column '{original_col}' does not exist in the DataFrame")
    
    # Use vectorized operations to extract the rating portion
    extracted_ratings = df[original_col].astype(str).str.split('_').str[-1]  # Convert to string type, then split and extract last segment
    # Note: If original string contains no underscores, splitting returns the entire string
    
    # Apply mapping using vectorized Series.map operation
    mapped_ratings = extracted_ratings.map(rating_mapping)  # Using pd.Series.map avoids chained indexing warnings
    
    # Handle unmapped values: Fill with default value if a non-NaN default is provided
    if not pd.isna(default_value):
        mapped_ratings = mapped_ratings.fillna(default_value)
    
    # Use .assign() to create new column while avoiding in-place modification of original DataFrame
    return df.assign(**{new_col: mapped_ratings})
Python_Dataframe_表格合并实现excel中VLOOKUP函数 利用Python实现海量数据的间的合并工作——pandas.merge 在excel中需要利用VLOOKUP函数进行两个表格的关联列合并操作。Python中的pandas.merge()函数拥有更加强大的功能,函数需要利用Pandas包。 其中, import pandas as pd data = pd.merge(data1, data2[['列名1', '列名2', '列名3']], how='inner', on=['列名3'], left_index=False, right_i 阅读详情

相关推荐

Python openpyxl删除Excel默认工作表:自动化生成纯净报表

在数据处理与报表自动化流程中,Excel工作簿的默认工作表(如Sheet1、Sheet2)常成为冗余内容,影响文件处理的效率和准确性。其原理在于Excel应用程序及openpyxl等库在创建新工作簿时会自动生成初始工作表,这可能导致脚本遍历、文件体积和后续处理逻辑的干扰。掌握删除或控制这些默认工作表的技术,对于实现数据流程的标准化与自动化具有重要价值,能显著提升批量文件生成、Web服务报表输出等场景的代码健壮性。本文聚焦使用Python openpyxl库,通过创建后删除、重命名及动态管理等实操方案,解决默

weixin_33849215的博客 348

python:rename函数用法

在Pandas库中,rename函数是一个非常实用的方法,以下是rename函数的基本用法、参数以及一些示例。

m0_63227758的博客 3588

采购订单定价策略 超详细

‘需求’字段里填写的是一个例程编号(例程是一段判断程序),如果我们在需求中维护了例程编号,那只有这个例程条件被满足时,这个条件表才会被系统自动读取。一部分的条件表只有在凭证项目满足一定的条件时才会被读取。 ‘排斥的’字段如果别勾中的话,那表明如果这个条件表被系统成功读取到数据后,系统将停止这个存取顺序的执行,否则,系统将继续执行下去。 注意:a、如果我们给某个条件类型设定了有效期的话,那我们必须给这个条件类型分配一个存取顺序。 b、不能给一个抬头条件分配存取顺序。 是...

竹大的博客 1万+

【python】pandas-DataFrame类型数据重命名列表头

pandas的DataFrame类型数据如何将某一列重命名?

Wynne的博客 3641

实战指南:基于华为Ascend NPU的大模型W8A8量化调优与精度提升

本文提供了一份基于华为Ascend NPU进行大模型W8A8量化的实战调优指南。详细介绍了从环境搭建、使用msmodelslim框架进行基础量化,到通过离群值抑制、校准集优化和量化回退等关键技术提升精度的全流程。旨在帮助开发者在华为NPU硬件上实现模型推理的显著加速,同时有效控制精度损失。

weixin_29227425的博客 272

黏菌算法(Slime Mould Algorithm,SMA)

这是一篇关于黏菌算法的总结博客,包含算法思想,算法步骤,求函数最值(Python实现),算法改进等,持续更新ing

weixin_46838605的博客 1万+

Python DataFrame 给列命名

在Pandas中,DataFrame的列名是数据的重要组成部分,它们不仅用于标识数据,还影响数据的处理和分析。因此,给列命名是一个需要认真对待的任务。在创建DataFrame时,可以通过字典或列表的列表来指定列名;在读取数据时,可以通过header和names参数来指定列名;在修改列名时,可以使用rename方法或属性访问(不推荐)。同时,我们还需要注意列名的唯一性、数据类型、可读性、国际化和持久性等问题,并遵循一些通用的命名规范来确保数据的一致性和可维护性。

Python老吕的博客 3587

Windows服务器SSL漏洞修复实战:如何一键禁用TLS 1.0/1.1避免SWEET32攻击

本文提供了Windows服务器修复SWEET32漏洞的实战指南。通过组策略编辑器,详细讲解如何一键禁用不安全的TLS 1.0/1.1协议,并优化密码套件顺序,以消除由3DES等弱加密算法带来的安全风险。文章还涵盖了应对SQL Server等应用兼容性挑战的解决方案,以及企业级批量部署的脚本化方法,帮助管理员系统性地提升服务器TLS/SSL安全配置。

weixin_29310631的博客 246

python dataframe rename_详解pandas DataFrame修改行列名

写在前面的话:在做WISE数据处理时,有时候需要将几组数据生成一个DataFrame,然而在生成的过程中我一般不会设置列的名字(因为这种过程可能会有很多步),所以最后的列名是默认的。为了方便自己以后读代码,还是希望最后已处理好的数据有相应的数据相关列名。自己在网上也查了了一些人的解决办法,感觉没有一个能讲明白,现将自己的理解总结如下。方法1:修改DataFrame的columns或index属性值...

weixin_34738304的博客 1万+

头歌工程实训答案-机器学习篇之手写体识别篇

第2关:激活函数'''x:负无穷到正无穷的实数'''if x<=0:return 0else:return x#***第3关:反向传播算法import os。

m0_71537260的博客 2520

【教程4>第1章>第12节】通过Verilog读取txt格式数据进行测试并将结果导入到matlab

我们在verilog的testbench中,调用txt文件,将上述正弦样本数据作为测试激励输入到verilog模块中。通过这个方法,可以将一些较为复杂的数据导入到verilog中,进行FPGA数据处理模块的开发。即通过w方式打开一个新的txt文件,然后将verilog的输出保存到XY1.txt文件中。这个部分是txt文件的路径,实际使用时,修改为您自己的路径,或者将txt文件放在和我一样的路径中。这个是数据长度,matlab产生的txt多少长度,这个参数就修改为多少长度。这个txt就是保存这段数据的文件。

FPGA/MATLAB学习教程/源码/项目合作开发 1391

python dataframe rename_Pandas DataFrame.rename()例子

本文概述Pandas的rename()函数的主要任务是重命名任何索引, 列或行。此方法对于重命名某些选定的列很有用, 因为我们只需要为要重命名的列指定信息。它主要根据某些映射(dict或Series)或任意函数来更改轴标签。该函数必须唯一, 并且取值范围为1到-1。如果字典或系列中未包含标签, 则会保留标签。如果列出一些额外的标签, 它将引发错误。句法DataFrame.rename(mapper...

weixin_39868663的博客 776

QT实现计算器(C/C++)

digitClicked()槽函数用于处理数字按钮的点击事件,operatorClicked()槽函数用于处理运算符按钮的点击事件,equalsClicked()槽函数用于处理等号按钮的点击事件。在operatorClicked()槽函数中,我们获取被点击按钮的文本作为当前运算符,并将文本框中的内容转换为双精度浮点数,存储为操作数1。在上述代码中,我们添加了一个私有成员变量m_operand1,用于存储第一个操作数的值,以及一个私有成员变量m_currentOperator,用于存储当前运算符的值。

CyberNova的博客 385

[python3][DataFrame保存为excel前需要做的几个步骤]

目录零、创建DataFrame一、填补空值二、去重(包括所有列,个别列)三、去除索引四、选择自己需要的列五、重命名DataFrame的列名称六、保存为excel文件 零、创建DataFrame import pandas as pd df = pd.DataFrame([{'winner':'jsr'}, {'id':0,'winner':'jsr','age...

weixin_43952650的博客 2万+

图神经网络学习笔记-点云数据处理(专题七)

本教程解释了如何利用图神经网络(Graph Neural Networks,GNNs)来处理和训练点云数据。尽管点云默认情况下不具有图结构,但我们可以利用 PyG 的转换工具,将其转化为适合 PyG 所提供的全套 GNN 模型的形式。关键思想是从点云数据中创建一个,通过 GNN 的消息传递机制,从中学习有意义的局部几何结构。这些点的表示可以被用于例如点云分类或分割等任务。

351

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

『R语言&Python』 Excel文件的读取以及DataFrame的相关操作 (1)

Python部分: 一、读取Excel 提到读取数据,就不得不说 pandas 这个库了,它可以读取的文件格式如图;对表格进行数据分析时,常使用 read_csv 或者 read_excel 首先把 C:\Users\acer\Desktop\data analysis\Playing.xlsx 文件地址赋值给 filepath,然后使用 pd.read_excel( ) 方法读取该文件,注意参数 sheet_name=1 意味着读取第二个表格 import pandas as pd filepath

m0_47149835的博客 3960

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

『Python』Excel文件的读取以及DataFrame的相关操作 (2)

最近经常使用 pythonpythonpython 对 ExcelExcelExcel 文件进行 ETLETLETL 操作,其中 pandaspandaspandas 中一些函数经常用到,因此写下来作为初步总结。本章内容偏向于数据的定位与提取 1. 已知某值,定位它在列表 list1list1list1 中的位置,即返回它的索引 index_num = list1.index('specified_value') 2. 将某列值设为 DataFrameDataFrameDataFrame 的索引 df.

m0_47149835的博客 5161

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python数据分析:pandas之Excel详解

pandas操作excel详解

人不风流枉少年 1万+

python dataframe 字符串截取_从案例入手学Python——批量重命名文件

划重点:判断字符串是否在序列/数据框内、获取数据框内元素坐标由于行业新规,某些历史文件需按照新规所定义的规则重新命名。在此背景下,我们目前有两项资料:1原文件,预计1000+个、2原文件名到新文件名的转换规则。基于如上情况,针对此次需求,我觉得可以采用Excel+Python来实现。01 需求分析问:如果要你人工操作1000+个文件重命名,你会怎么做?答:有病吧,我才不做。追问:假如,假如,你怎么...

weixin_39831493的博客 516

python pandas dataframe 常用数据处理操作

pandas数据处理操作

sinat_35058227的博客 1534

【Excel+Python学习 1】Panda DataFrame基本介绍,数据操作,数据设置

DataFrame 提供了 applymap 方法,它会将一个函数应用到每一个元素上,在 NumPy 没有提供所需的 ufunc 时,这是非常有用的。获得一个反映对应位置上是否是 NaN 的布尔 DataFrame 或 Series,可以使用 isna 方,True代表是NaN,False代表不。df.reset_index().set_index(‘xxx’) (链式调用,reset_index()返回一个DataFrame)要在变量后面加一个冒号,然后跟上具体的格式化字符串,这里使用的是 ,.2f。

tanvanyo的博客 624

python-pd.DataFrame 总结备忘

1. 去重 对df1进行去重操作(去除完全重复的行数据):df1 = df1.drop_duplicates() 对df1的指定若干字段去重操作:df.drop_duplicates(subset=['col_name1','col_name2'],keep='first',inplace=True) subset: 列名,可选,默认为None keep:枚举为{'first', 'last', False} 'first' - str 去重后保留第一次...

Kukafee的博客 5398

Pandas教程15:多个DataFrame数据(保存+追加)为Excel表格数据

1.代码解析:1.先准备一个df1和df2数据,使用pd.concat函数进行df新旧数据合并处理,参数为多个df数据,列表类型,然后把处理后的数据打印出来。这样就可以实现数据的保存和追加操作了。索引的唯一性:每次合并时,如果新的DataFrame具有与现有数据冲突的索引,Pandas会默认重置索引或引发错误。性能考虑:循环合并多个DataFrame可能不是最高效的方法,特别是当DataFrame的数量或大小很大时。---------------pandas数据分析集合---------------

我的Python教程 2433

python批量文件数据处理,python处理excel数据快吗

来源于两个读者的学习/工作需求,很巧,这两个读者提的需求都是关于批量合并sheet(检索需要的信息)。本文所用数据样式,经读者同意,可以公开,文件中的数据为Excel中的Rand函数生成,确保大家在学习、使用代码过程中不会遇到障碍,数据和代码获取方式见文末python写麦穗的代码。

wenangou6 805

Excel处理/2 #python #数据处理

没有一句废话,做最生动有趣的文章!

hisaxx的博客 545

DataFrame

一、读取文件 1.excel df = pd.read_excel("C://Users//15534//Documents//研究生任务//药物分类整理0816//0816整理数据//0816整理数据//实验结果PPT4上.xlsx") 2.txt f = open("C://Users//15534//Documents//研究生任务//药物分类整理0816//0816整理数据//0816整理数据//drug_sim.txt","r",encoding='utf-8') #设置文件对象

weixin_46266120的博客 1251
上一篇: Python 小技巧:路径检查函数
下一篇: Pandas DataFrame 指南
偷心伊普西隆
博客等级 码龄7年 511粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值