在datafram的特定列中查找第一个出现的非整数

2021-04-11 22:59:22 发布

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

我有一个列中有一堆整数的数据帧;在列中的某个点上,将出现一个字符串或字母。我需要找到这个字符串、字母或非整数,然后删除它后面的所有数据。在

我该怎么做?在

2条回答
网友
1楼 ·

试试这个:

df = pd.DataFrame({'x': [1, 2, 'a', 1, 2]})
df.iloc[:(df.x.apply(type) == str).idxmax()]

   x
0  1
1  2

enter image description here

网友
2楼 ·

这应该能做到:

In [20]: df = pd.DataFrame({'x': [1, 2, 'a', 1, 2]})

In [21]: df
Out[21]: 
   x
0  1
1  2
2  a
3  1
4  2

In [22]: df.loc[(~df.x.apply(np.isreal)).cumsum() == 0, :]
Out[22]: 
   x
0  1
1  2

相关问题