【问题标题】:Separate Text and number from Alphanumeric text using Python使用 Python 从字母数字文本中分离文本和数字
【发布时间】:2020-10-08 16:41:04
【问题描述】:

我有一个 excel 表,其中包含 A 列和 B 列中的大量数据,如下所示。 B 列总是以字母 M 开头,然后是数字。

   A         B
Pradeep440  M440
Azhar541    M541
Venkat456   M456
Akash144    M144
Vipul157    M157
Fairo452    M452
Akshay449   M449
Pavan249    M249
Asad114     M114
Rudra890    M890
Niranjan120 M120
Darshan334  M334
Veeresh876  M876

预期输出:

    A         B      C 
Pradeep440  M440    440
Azhar541    M541    541
Venkat456   M456    456
Akash144    M144    144
Vipul157    M157    157
Fairo452    M452    452
Akshay449   M449    449
Pavan249    M249    249
Asad114     M114    114
Rudra890    M890    890
Niranjan120 M120    120
Darshan334  M334    334
Veeresh876  M876    876

有人可以指导我如何使用 python 拆分或分离它,我是 python 新手。感谢您的帮助。

【问题讨论】:

  • 能否解释一下输出中的这一行:Azhar541 M541 531
  • 糟糕,它的输出应该是 541
  • 知道了。修正了你的帖子。

标签: python pandas numpy spyder


【解决方案1】:

你可以extract:

df['C'] = df['B'].str.extract('(\d+)$')[0]

【讨论】:

  • @yQuang 感谢您的代码当我运行它时,我收到错误为“return object.__getattribute__(self, name) AttributeError: 'DataFrame' object has no attribute 'B'” 我也有来自第 1 行
  • 'B' 替换为您的实际列名?
  • 但是我没有定义B列,因为excel表格中的数据从Row1开始,基本上没有定义列
【解决方案2】:

使用strip

df['C']=df.B.str.strip('M')
df
Out[132]: 
              A     B    C
0    Pradeep440  M440  440
1      Azhar541  M541  541
2     Venkat456  M456  456
3      Akash144  M144  144
4      Vipul157  M157  157
5      Fairo452  M452  452
6     Akshay449  M449  449
7      Pavan249  M249  249
8       Asad114  M114  114
9      Rudra890  M890  890
10  Niranjan120  M120  120
11   Darshan334  M334  334
12   Veeresh876  M876  876

【讨论】:

  • 感谢您的代码当我运行它时,我得到错误“返回对象.__getattribute__(self, name) AttributeError: 'DataFrame' object has no attribute 'B'”我也有来自 Row1 的数据
【解决方案3】:

由于你已经修复了甲酸盐,你可以跳过字符串中的第一个字符

df["C"] = df.B.str[1:]

df["C"] = df.iloc[:,1].str[1:]
df
              A     B    C
0    Pradeep440  M440  440
1      Azhar541  M541  541
2     Venkat456  M456  456
3      Akash144  M144  144
4      Vipul157  M157  157
5      Fairo452  M452  452
6     Akshay449  M449  449
7      Pavan249  M249  249
8       Asad114  M114  114
9      Rudra890  M890  890
10  Niranjan120  M120  120
11   Darshan334  M334  334
12   Veeresh876  M876  876

【讨论】:

  • 感谢您的代码当我运行它时,我得到错误“返回对象.__getattribute__(self, name) AttributeError: 'DataFrame' object has no attribute 'B'”我也有来自 Row1 的数据
  • 如果您没有列名,请更新相关问题。
猜你喜欢
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 2020-10-30
  • 2022-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-20
相关资源
最近更新 更多