Python 有没有更像蟒蛇的写作方式?
我想让它更像蟒蛇Python 有没有更像蟒蛇的写作方式?,python,pandas,Python,Pandas,我想让它更像蟒蛇 user_df[-1:]['status_id'].values[0] in {3,5} 我尝试了user\u id.ix[-1:,'status\u id'].isin([3,5]),但没有成功 有什么建议吗?顶级版本可以工作,但看起来有点奇怪。您可以尝试: user_id['status_id'].iloc[-1:].isin([3,5]) 样本: user_id = pd.DataFrame({'status_id':[1,2,3]}) print (user_id)
user_df[-1:]['status_id'].values[0] in {3,5}
我尝试了user\u id.ix[-1:,'status\u id'].isin([3,5])
,但没有成功
有什么建议吗?顶级版本可以工作,但看起来有点奇怪。您可以尝试:
user_id['status_id'].iloc[-1:].isin([3,5])
样本:
user_id = pd.DataFrame({'status_id':[1,2,3]})
print (user_id)
status_id
0 1
1 2
2 3
#iloc without : [-1] return scalar
print (user_id['status_id'].iloc[-1] in set({3,5}))
True
#iloc with : [-1:] return vector - Series
print (user_id['status_id'].iloc[-1:].isin([3,5]))
2 True
Name: status_id, dtype: bool
您可以尝试:
user_id['status_id'].iloc[-1:].isin([3,5])
样本:
user_id = pd.DataFrame({'status_id':[1,2,3]})
print (user_id)
status_id
0 1
1 2
2 3
#iloc without : [-1] return scalar
print (user_id['status_id'].iloc[-1] in set({3,5}))
True
#iloc with : [-1:] return vector - Series
print (user_id['status_id'].iloc[-1:].isin([3,5]))
2 True
Name: status_id, dtype: bool
isin
可能会稍微快一点(你必须检查的值越多,你会注意到的速度就越快……但即使对于大型集合,它也不会有太大的区别……(我怀疑在本例中它会快一点……它可能会慢一点)……但是val in set()
是非常危险的pythonic(事实上比pd.isin更重要)
您正在使用
pandas.isin
或numpy.in1d
对集合测试单个值,与仅在中使用和一个集合(该集合是O(1)
查找相比,您将在进入C并返回python时产生大量的时间开销。。。(在任何一种情况下,时间片在人类时间尺度上都是不存在的)isin
可能会稍微快一点(需要检查的值越多,你会注意到的速度就越快……但即使是大型集合,它也不会有很大的差异……(我怀疑在本例中它会更快……它可能会稍微慢一点)…但是set()中的val
是非常危险的pythonic(实际上比pd.isin
更危险)
您正在使用pandas.isin
或numpy.in1d
对集合测试单个值,与仅在中使用和一个集合(该集合是O(1)
查找相比,您将在进入C并返回python时产生大量的时间开销。。。(在这两种情况下,时间片在人类时间尺度上都不存在)还有熊猫函数处理NaN
非常好,但我认为这不适用于这个问题域……他正在测试一个集合中的单个值……NaN不在那个集合中。我认为熊猫函数和python函数一般都是对的。但这样说你是对的。也许另一个问题是pythonic和pandaic;)@jezrael:“pandorable”。而且熊猫函数处理NaN
非常好,但我认为这不适用于这个问题域…他正在测试一个集合中的单个值…NaN不在那个集合中。我认为熊猫函数和python函数一般都是对的。但这样说你是对的。也许另一个问题是pythonic和pandaic;)@jezrael:“pandorable”。回答得很好。特别是如果他真的想用pandasisin
来做这个(如他的问题所示)是的,回答得很好。我选择了user\u id['status\u id'].iloc[-1]。isin([3,5])
只是为了保持一致性。谢谢!回答得很好。特别是如果他真的想用pandasisin
(如他的问题所示)是的,回答很好。我选择了user\u id['status\u id'].iloc[-1]。isin([3,5])
只是为了保持一致性。谢谢!