Python之pandas:对pandas中dataframe数据中的索引输出、修改、重命名等详细攻略
目录
对pandas中dataframe数据中的索引输出、修改、重命名等详细攻略
对pandas中dataframe数据中的索引输出、修改、重命名等详细攻略
知识点学习
- 构造数据
- 查看索引
- 修改列索引内元素名称
# 重命名指定行索引名称, []列表的长度必须与df行数一致,可以重复
# 输出当前的索引列名称 - 设置单个索引列
# 指定索引列,其中drop=False 表示保留原先索引列的数据
# 设置索引列名称
# 输出当前的索引列名称 - 字段去重
# unique()对某列实现去重 - 设置复合索引:将多列设置为索引
# 输出当前的索引列名称
输出结果
-
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)
转载:https://blog.csdn.net/qq_41185868/article/details/115427128
查看评论