【问题标题】:replace alphabets替换字母
【发布时间】:2017-11-05 13:13:42
【问题描述】:

我想用它们在字母表中的顺序号替换字母

【问题讨论】:

  • 字母j、k等你打算怎么做?它们对应的值是多少? 10, 11?如果是这样,您将如何区分“k”和“aa”(它们都是 11)。
  • 字母与它们在字母表中的顺序相对应,aa = 1.1, k =11
  • II没有2个字母,都是3个字母的值

标签: python pandas numpy dataframe scikit-learn


【解决方案1】:
import string

import pandas as pd

new_vals = {c: ord(c)-96 for c in string.ascii_lowercase}

df = pd.DataFrame({'Values': ['aaa', 'abc', 'def']})

df['Values_new'] = [''.join(str(new_vals[c]) for c in row) for row in df['Values']]

df 现在是:

>>> df
  Values Values_new
0    aaa        111
1    abc        123
2    def        456

然后你可以进入并添加你看起来像十进制的符号,虽然那里的逻辑对我来说似乎有点不清楚(你上面列出了一个逗号):

df['Values_new'] = [v[0] + '.' + v[1:] for v in df['Values_new']]

结果:

>>> df
  Values Values_new
0    aaa       1.11
1    abc       1.23
2    def       4.56

【讨论】:

  • 很接近了,能不能把所有的字母都用成数字? h=8 代表前
  • 有时我只有 1 个字母
猜你喜欢
  • 2016-12-22
  • 2017-05-16
  • 1970-01-01
  • 2015-12-09
  • 1970-01-01
  • 2012-06-24
  • 2023-03-11
  • 2012-11-10
  • 2011-12-18
相关资源
最近更新 更多