让它成为以下Python Panda数据帧:

                NAME  NUM_OWNERS             NUM_DOCS       NUM_RESIDENTS
               Total   23900137              21028886         44571130.0   
        Macael-04062     366607                324413           727945.0   
               Spain    4283950               3642683          8464411.0   
      Badalona-08911       5829                  6250            15480.0   
      Vallecas-28031       5691                  5215            10358.0   

我希望保留包含5位数字的行,并按该数字修改NAME列的值.

结果数据帧:

                NAME  NUM_OWNERS             NUM_DOCS       NUM_RESIDENTS
               04062     366607                324413           727945.0     
               08911       5829                  6250            15480.0   
               28031       5691                  5215            10358.0   

推荐答案

让我们try 使用contains过滤器,然后split分配新值

out = df[df.NAME.str.contains('-')].assign(NAME = lambda x : x['NAME'].str.split('-').str[-1])
Out[83]: 
    NAME  NUM_OWNERS  NUM_DOCS  NUM_RESIDENTS
1  04062      366607    324413       727945.0
3  08911        5829      6250        15480.0
4  28031        5691      5215        10358.0

Python相关问答推荐

Pandas或pyspark跨越列创建

取相框中一列的第二位数字

如何判断LazyFrame是否为空?

将嵌套列表的字典转换为数据框中的行

Polars Select 多个元素产品

强制venv在bin而不是收件箱文件夹中创建虚拟环境

使用新的类型语法正确注释ParamSecdecorator (3.12)

时间序列分解

如何将双框框列中的成对变成两个新列

如何使用html从excel中提取条件格式规则列表?

运行终端命令时出现问题:pip start anonymous"

无法使用requests或Selenium抓取一个href链接

运输问题分支定界法&

OR—Tools中CP—SAT求解器的IntVar设置值

计算每个IP的平均值

无法连接到Keycloat服务器

在嵌套span下的span中擦除信息

从Windows Python脚本在WSL上运行Linux应用程序

Geopandas未返回正确的缓冲区(单位:米)

如何防止Pandas将索引标为周期?