在Pandas中,可以使用reset_index()方法将索引转换为列,下面是详细的攻略。
1. 使用reset_index方法
使用reset_index()方法可以实现索引转换为列的操作,reset_index()的默认行为是将索引转换为列并创建一个新的整数索引,例如:
import pandas as pd
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky', 'Dave'],
'Age': [28, 34, 29, 42, 36],
'Country': ['US', 'UK', 'US', 'UK', 'UK']}
df = pd.DataFrame(data)
df = df.reset_index()
print(df)
运行结果如下所示,可以看到原来的行索引已经转换为了一列,并创建了一个新的整数索引:
index Name Age Country
0 0 Tom 28 US
1 1 Jack 34 UK
2 2 Steve 29 US
3 3 Ricky 42 UK
4 4 Dave 36 UK
2. 保留原有索引并创建新的列
如果想保留原有的索引,并创建一个新的列来存储索引,可以使用reset_index()方法的drop参数,例如:
import pandas as pd
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky', 'Dave'],
'Age': [28, 34, 29, 42, 36],
'Country': ['US', 'UK', 'US', 'UK', 'UK']}
df = pd.DataFrame(data)
df = df.reset_index(drop=False)
print(df)
运行结果如下所示,可以看到原本的行索引已经转换为了一列,并命名为了“index”:
index Name Age Country
0 0 Tom 28 US
1 1 Jack 34 UK
2 2 Steve 29 US
3 3 Ricky 42 UK
4 4 Dave 36 UK
3. 将多个索引转换成列
在Pandas中,可以通过reset_index()方法将多个索引转换为列,例如:
import pandas as pd
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky', 'Dave'],
'Age': [28, 34, 29, 42, 36],
'Country': ['US', 'UK', 'US', 'UK', 'UK']}
df = pd.DataFrame(data)
df = df.set_index(['Country', 'Name'])
df = df.reset_index()
print(df)
运行结果如下所示,可以看到原来的多层索引都已经转换为了列,同时创建了一个新的整数索引:
Country Name Age
0 US Tom 28
1 UK Jack 34
2 US Steve 29
3 UK Ricky 42
4 UK Dave 36
通过以上攻略,可以轻松地将Pandas数据框架中的索引转换为列,以满足实际需求。