熊猫:如何检测没有数值的序列的索引?

时间:2018-08-22 07:22:51

标签: pandas

我有一个类似下面的系列:

0.0       1243340641
1.0          4403140
2.0       1243340592
3.0       3181787143
4.0        148623845
5.0        148623662
             ...    
5046.0    3181981603
5047.0    1436718983
5048.0    1436719026
5049.0    1436719067
5050.0    1436719283
5051.0    3181984143

我认为应该是int64 dtype,但实际上pandas将该系列视为object

我想检测出使大熊猫认为该系列为object dtype的哪一行?

1 个答案:

答案 0 :(得分:1)

如果混合值-带字符串的数字,我认为需要

print (s[s.apply(lambda x: isinstance(x, str))])

如果要返回所有非字符串值:

print (s[~s.apply(lambda x: isinstance(x, str))])

或整数值:

print (s[s.apply(lambda x: isinstance(x, int))])

示例

s = pd.Series(['1243340641',4403140,1243340592,'3181787143'], index=[0,1.0,2.0,3.0])
print (s)
0.0    1243340641
1.0       4403140
2.0    1243340592
3.0    3181787143
dtype: object

print (s[s.apply(lambda x: isinstance(x, str))])
0.0    1243340641
3.0    3181787143
dtype: object

print (s[~s.apply(lambda x: isinstance(x, str))])
1.0       4403140
2.0    1243340592
dtype: object

print (s[s.apply(lambda x: isinstance(x, int))])
1.0       4403140
2.0    1243340592
dtype: object