DataFrame可以通过set_index方法,可以设置单索引和复合索引。
set_index( ) 将 DataFrame 中的列转化为行索引。默认的,当列变成行索引之后,原来的列就没了,但是可以通过设置drop来保留原来的列。
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
append添加新索引,
drop:默认为true,表示是否删除列作为新索引。
inplace:false 原数据对象不改变,新创建一个包含修改内容的对象;True:在源对象上修改内容,不创建一个新对象
# -*- coding: utf-8 -*-
# @File : test.py
# @Date : 2020-01-06 22:15
# @Author : admin
import pandas as pd
# DataFrame可以通过set_index方法,可以设置单索引和复合索引。
#set_index( ) 将 DataFrame 中的列转化为行索引。默认的,当列变成行索引之后,原来的列就没了,但是可以通过设置drop来保留原来的列。
# DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
# append添加新索引,
#drop:默认为true,表示是否删除列作为新索引。
#inplace:false 原数据对象不改变,新创建一个包含修改内容的对象;True:在源对象上修改内容,不创建一个新对象
df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3', 'A4'],
'B': ['B0', 'B1', 'B2', 'B3', 'B4'],
'C': ['C0', 'C1', 'C2', 'C3', 'C4'],
'D': ['D0', 'D1', 'D2', 'D3', 'D4']})
print('----------------------------------------inpla默认为False -------------------------')
print("##############################原数据df:\n",df)
df_inplace_f = df.set_index('A', inplace=False) # inpla默认为False,表示适当修改DataFrame(不要创建新对象)
print('设置索引后df:\n', df)
print('设置索引新对象df_inplace_f:\n', df_inplace_f) #原数据对象不改变,新创建一个对象
print('----------------------------------------inpla默认为True==========================================')
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3', 'A4'],
'B': ['B0', 'B1', 'B2', 'B3', 'B4'],
'C': ['C0', 'C1', 'C2', 'C3', 'C4'],
'D': ['D0', 'D1', 'D2', 'D3', 'D4']})
print("==================================================原df1:\n",df1)
df_inplace_t = df1.set_index('A', inplace=True) # 表示原地不动
print("==================================================设置索引后df1:\n",df1)
print("========================================================设置索引df_inplace_t:",df_inplace_t)
----------------------------------------inpla默认为False ------------------------- ##############################原数据df: A B C D 0 A0 B0 C0 D0 1 A1 B1 C1 D1 2 A2 B2 C2 D2 3 A3 B3 C3 D3 4 A4 B4 C4 D4 设置索引后df: A B C D 0 A0 B0 C0 D0 1 A1 B1 C1 D1 2 A2 B2 C2 D2 3 A3 B3 C3 D3 4 A4 B4 C4 D4 设置索引新对象df_inplace_f: B C D A A0 B0 C0 D0 A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 ----------------------------------------inpla默认为True========================================== ==================================================原df1: A B C D 0 A0 B0 C0 D0 1 A1 B1 C1 D1 2 A2 B2 C2 D2 3 A3 B3 C3 D3 4 A4 B4 C4 D4 ==================================================设置索引后df1: B C D A A0 B0 C0 D0 A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 ========================================================设置索引df_inplace_t: None |