将数据帧列中的字符串转换为索引值

2024-06-01 10:02:23 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Python和熊猫,我有一个

  1. 数据帧
  2. 标题为“信件”的专栏
  3. 列表,letlist=['a','b','c','d']

我想创建一个新列“letters\u index”,其中generate值将是列表letlist中以列字母表示的字符串的索引

我试过了

df['letters_index'] = letlist.index(df['letters'])

然而,这并没有起作用。你有什么建议吗?你知道吗


Tags: 数据字符串标题df列表index字母建议
1条回答
网友
1楼 · 发布于 2024-06-01 10:02:23

据我所知,你需要:

letlist = ['a', 'b', 'c', 'd']
print(df)

输出:

letters
0   a
1   b
2   b
3   d
4   c

然后呢

df['new_col'] = df['letters'].apply(lambda x: letlist.index(x))

输出:

0    0
1    1
2    1
3    3
4    2
Name: letters, dtype: int64

注意,如果列中的值不在列表中,它将抛出一个ValueError。你知道吗

相关问题 更多 >