存在具有在已具有索引名称的数据帧(之间的微妙的差别情况1),并且当没有预先设置索引名(情况2)。
.set_index
)import pandas as pd
#data
data = [['Eren Jaeger', 15,'Soldier' ] , ['Mikasa Ackerman', 14,'Soldier'], ['Armin Arlert', 14,'Soldier'],['Levi Ackerman', 30, 'Captain']]
#creating DataFrame
df = pd.DataFrame(data, columns = ['Name', 'Age', 'Rank'])
#setting index_name based on a previous variable
df = df.set_index('Rank', drop=True)
#creating dta file (no need of .rename_axis(index='my_index'))
df.to_stata('stata_df_1.dta' )
df
## Name Age
## Rank
## Soldier Eren Jaeger 15
## Soldier Mikasa Ackerman 14
## Soldier Armin Arlert 14
## Captain Levi Ackerman 30
.rename_axis(index='my_index')
必填)基于@QuangHoang注释,这是一种在没有事先命名的情况下设置索引名称的方法。
data = [['Eren Jaeger', 15] , ['Mikasa Ackerman', 14], ['Armin Arlert', 14],['Levi Ackerman', 30]]
df = pd.DataFrame(data, columns = ['Name', 'Age'])
df
## Name Age
## 0 Eren Jaeger 15
## 1 Mikasa Ackerman 14
## 2 Armin Arlert 14
## 3 Levi Ackerman 30
#this will have a first variable with digits 1 to 4 called "index" (default)
df.to_stata('stata_df_no_name.dta' )
#this will have a first variable with digits 1 to 4 called "my_index"
df.rename_axis(index='my_index').to_stata('stata_df_2.dta')