Pandas 创建一个包含基于另一个值的索引的新列
Pandas create a new column containing index based on the value of another one
我有一个这样的数据框:
a
4.0
5.5
5.5
6.7
7.9
7.9
9.4
我想添加一个名为 b
的新列,'indexing' 第一个列中的值。
新的数据框看起来像:
a b
4.0 1
5.5 2
5.5 2
6.7 3
7.9 4
7.9 4
9.4 5
谢谢。
您可以使用 pd.factorize
:
codes, uniques = pd.factorize(df['a'])
df['b'] = codes
(或 df['b'] = codes + 1
如果您希望这些索引从 1 而不是 0 开始)
我有一个这样的数据框:
a
4.0
5.5
5.5
6.7
7.9
7.9
9.4
我想添加一个名为 b
的新列,'indexing' 第一个列中的值。
新的数据框看起来像:
a b
4.0 1
5.5 2
5.5 2
6.7 3
7.9 4
7.9 4
9.4 5
谢谢。
您可以使用 pd.factorize
:
codes, uniques = pd.factorize(df['a'])
df['b'] = codes
(或 df['b'] = codes + 1
如果您希望这些索引从 1 而不是 0 开始)