“x”出现在哪个数字行上

2024-03-29 11:07:13 发布

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

早上好

我有一个数据帧:

df

     Code
 0   F5031032
 1   F5546810
 2   F117225534
 3   F17770
 4   F29157

我想找出第二排的密码。所以我想要的答案是:

Code       Row
F5031032   1
F17770     4

谢谢


Tags: 数据答案密码dfcoderowf17770f5546810
3条回答

不知道你是不是在找这样的东西

In [10]: df_filter = df[df['Code'].isin(['F5031032', 'F17770'])]

In [11]: df_filter['Row'] = df_filter.index + 1


In [12]: df_filter
Out[12]: 
       Code  Row
0  F5031032    1
3    F17770    4

试试这个

codes = ["F5031032", "F5546810", "F117225534", "F17770", "F29157"]
df = pd.DataFrame(data=codes, columns=['Code'])
df['Row'] = df.index+1
print df

IIUC您可以使用^{}作为选择值,然后将索引获取到idx,如果索引不是从0开始,请使用^{}

print df
         Code
2    F5031032
3    F5546810
4  F117225534
5      F17770
6      F29157

print df['Code'].isin(['F5031032','F17770'])
2     True
3    False
4    False
5     True
6    False
Name: Code, dtype: bool

idx = df[df['Code'].isin(['F5031032','F17770'])].index
print idx
Int64Index([2, 5], dtype='int64')

print df.index.get_indexer(idx)
[0 3]

df1 = df[df['Code'].isin(['F5031032','F17770'])].copy()
df1['Row'] = df.index.get_indexer(idx) + 1
print df1
       Code  Row
2  F5031032    1
5    F17770    4

相关问题 更多 >