熊猫 - 使用pattern/regex编辑索引

And*_*eiR 4 python regex dataframe pandas

给定一个数据框,如:

>>> df
      ix  val1  val2  val3  val4
    1.31     2     3     4     5
    8.22     2     3     4     5
    5.39     2     3     4     5
    7.34     2     3     4     5
Run Code Online (Sandbox Code Playgroud)

是否可以使用替换等内容编辑索引?

伪代码:(因为df索引没有str属性)

df.index=df.index.str.replace("\\.[0-9]*","")
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西:

>>> df
   ix  val1  val2  val3  val4
    1     2     3     4     5
    8     2     3     4     5
    5     2     3     4     5
    7     2     3     4     5
Run Code Online (Sandbox Code Playgroud)

问题是我的数据框架很大.

提前致谢

beh*_*uri 5

你可以做:

df.index = df.index.to_series().astype(str).str.replace(r'\.[0-9]*','').astype(int)
Run Code Online (Sandbox Code Playgroud)

你也可以使用.extract:

df.index.to_series().astype(str).str.extract(r'(\d+)').astype(int)
Run Code Online (Sandbox Code Playgroud)

或者,你可能只是map索引int:

pd.Index(map(int, df.index))
Run Code Online (Sandbox Code Playgroud)