我有以下DataFrame data随机索引值:
A B
100 0 7
203 5 4
5992 0 10
2003 9 8
20 10 5
12 6 2
Run Code Online (Sandbox Code Playgroud)
我想添加一个带有行号的新列'C'.例如:
A B C
100 0 7 0
203 5 4 1
5992 0 10 2
2003 9 8 3
20 10 5 4
12 6 2 5
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
WeN*_*Ben 21
通过使用 reset_index
df['C'] = df.reset_index().index
df
A B C
100 0 7 0
203 5 4 1
5992 0 10 2
2003 9 8 3
20 10 5 4
12 6 2 5
Run Code Online (Sandbox Code Playgroud)
概括:
df['C'] = df.index if df.index.is_monotonic_increasing else range(len(df))
df
A B C
100 0 7 0
203 5 4 1
5992 0 10 2
2003 9 8 3
20 10 5 4
12 6 2 5
Run Code Online (Sandbox Code Playgroud)
jez*_*ael 14
numpy.arange按长度使用DataFrame:
df['C'] = np.arange(len(df))
print (df)
A B C
100 0 7 0
203 5 4 1
5992 0 10 2
2003 9 8 3
20 10 5 4
12 6 2 5
Run Code Online (Sandbox Code Playgroud)
我们可以添加行号作为第一列的新列,如下所示:
import pandas as pd
import numpy as np
df = pd.DataFrame({'B': [1, 2, 3], 'C': [4, 5, 6]})
B C
0 1 4
1 2 5
2 3 6
df.insert(loc=0, column='A', value=np.arange(len(df)))
A B C
0 0 1 4
1 1 2 5
2 2 3 6
Run Code Online (Sandbox Code Playgroud)
没有 numpy 的短选项
df['C'] = range(len(df))
Run Code Online (Sandbox Code Playgroud)
如果您希望将行号分组
df['C'] = df.groupby('A').cumcount()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29162 次 |
| 最近记录: |