如何在Python pandas DataFrame中对列值进行切片

时间:2018-02-13 18:58:52

标签: python pandas dataframe

我有一个像这样的数据框 -

element id  year    month   days    tmax    tmin
0   MX17004 2010    1   d1          NaN      NaN
1   MX17004 2010    1   d10         NaN      NaN
2   MX17004 2010    1   d11         NaN      NaN
3   MX17004 2010    1   d12         NaN      NaN
4   MX17004 2010    1   d13         NaN      NaN

我希望进一步打破这样的天列 **

days
1
10
11
12
13

** 我尝试了几种方法,但没有成功获得输出。有人可以帮忙或提一些线索吗?

2 个答案:

答案 0 :(得分:4)

使用str切片

df.days=df.days.str[1:]
df
Out[759]: 
   element       id  year  month days  tmax  tmin
0        0  MX17004  2010      1    1   NaN   NaN
1        1  MX17004  2010      1   10   NaN   NaN
2        2  MX17004  2010      1   11   NaN   NaN
3        3  MX17004  2010      1   12   NaN   NaN
4        4  MX17004  2010      1   13   NaN   NaN

答案 1 :(得分:0)

extract与正则表达式一起使用:

df['days'] = df.days.str.extract('d(\d+)', expand=False)
print(df)

输出:

   element       id  year  month days  tmax  tmin
0        0  MX17004  2010      1    1   NaN   NaN
1        1  MX17004  2010      1   10   NaN   NaN
2        2  MX17004  2010      1   11   NaN   NaN
3        3  MX17004  2010      1   12   NaN   NaN
4        4  MX17004  2010      1   13   NaN   NaN