Python之pandas:对pandas中dataframe数据中的索引输出、修改、重命名等详细攻略

简介: Python之pandas:对pandas中dataframe数据中的索引输出、修改、重命名等详细攻略

知识点学习


构造数据

查看索引

修改列索引内元素名称

# 重命名指定行索引名称, []列表的长度必须与df行数一致,可以重复

# 输出当前的索引列名称

设置单个索引列

# 指定索引列,其中drop=False 表示保留原先索引列的数据

# 设置索引列名称

# 输出当前的索引列名称

字段去重

# unique()对某列实现去重

设置复合索引:将多列设置为索引

# 输出当前的索引列名称




输出结果


image.png


RangeIndex(start=0, stop=4, step=1)

         Unnamed: 0  name  ID   age  sex

0_Rename           0   Bob   1   NaN    男

1_Rename           1  LiSa   2  28.0    女

2_Rename           2  Mary   3  38.0    女

3_Rename           3  Alan   4   NaN  NaN

None

单个索引列: Index_From_ID

              Unnamed: 0  name   age  sex

Index_From_ID                            

1                       0   Bob   NaN    男

2                       1  LiSa  28.0    女

3                       2  Mary  38.0    女

4                       3  Alan   NaN  NaN

字段去重 ['男' '女' nan]

复合索引列: None

          Unnamed: 0  ID  sex

name age                      

Bob  NaN            0   1    男

LiSa 28.0           1   2    女

Mary 38.0           2   3    女

Alan NaN            3   4  NaN





实现代码


# 1、定义数据集

contents={"name": ['Bob',        'LiSa',                     'Mary',                       'Alan'],

         "ID":   [1,              2,                            3,                            4],    # 输出 NaN

         "ID02":   [1,              2,                         ' ',                          None],    # 输出 NaN

         "age":  [np.nan,        28,                           38 ,                          '' ],   # 输出

         "age02":  [14,           26,                           24 ,                          6],

         "age03":  [14,           '26',                      '24' ,                        '6'],

       "born": [pd.NaT,     pd.Timestamp("1990-01-01"),  pd.Timestamp("1980-01-01"),        ''],     # 输出 NaT

         "sex":  ['男',          '女',                        '女',                        None,],   # 输出 None

         "hobbey":['打篮球',     '打羽毛球',                   '打乒乓球',                    '',],   # 输出

         "money":[200.0,                240.0,                   290.0,                     300.0],  # 输出

         "weight":[140.5,                120.8,                 169.4,                      155.6],  # 输出

         "test01":[1,    2.123456789,        3.123456781011126,   4.123456789109999],    # 输出

         "test02":[1,    2.123456789,        3.123456781011126,   4.123456789109999],    # 输出

         }

data_frame = pd.DataFrame(contents)

# Python之pandas:对pandas中dataframe数据中的索引输出、修改、重命名等详细攻略

# 构造数据

cols01=["name","ID","age","sex",]

nums_df_temp=data_frame.loc[:,cols01]

nums_csv_file="nums_df_temp.csv"

nums_df_temp.to_csv(nums_csv_file)

nums_df=pd.read_csv(nums_csv_file)

nums_df02=nums_df.copy()

# 查看索引

print('查看原始索引',nums_df.index)                  

# 修改列索引内元素名称

nums_df.index = ["0_Rename","1_Rename","2_Rename","3_Rename"]      # 重命名指定行索引名称, []列表的长度必须与df行数一致,可以重复

print(nums_df)

# 输出当前的索引列名称

print(nums_df.index.name)

# 设置单个索引列

nums_df=nums_df.set_index('ID',drop=True)     # 指定索引列,其中drop=False 表示保留原先索引列的数据

nums_df.index.name = 'Index_From_ID'          # 设置索引列名称

print('单个索引列:',nums_df.index.name)       # 输出当前的索引列名称

print(nums_df)

# 字段去重

print('字段去重',nums_df["sex"].unique())               # unique()对某列实现去重

# 设置复合索引:将多列设置为索引

nums_df02 = nums_df02.set_index(["name", "age"])

print('复合索引列:',nums_df02.index.name)                    # 输出当前的索引列名称

print(nums_df02)


 


相关文章
|
17天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
15天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
28天前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
45 3
|
1月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
28天前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
74 0
|
1月前
|
数据采集 存储 分布式计算
超酷炫Python技术:交通数据的多维度分析
超酷炫Python技术:交通数据的多维度分析
|
1月前
|
数据采集 数据可视化 数据挖掘
Python数据分析:Pandas库实战指南
Python数据分析:Pandas库实战指南
|
1月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
74 0
|
3月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
100 0
|
1月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
45 2