Best way to select columns in python pandas dataframe
本问题已经有最佳答案,请猛点这里访问。
我的脚本中有两种方法:如何从数据帧中选择特定行:
1。
1 | df2 = df1[(df1['column_x']=='some_value')] |
2。
1 | df2 = df1.loc[df1['column_x'].isin(['some_value'])] |
从效率的角度来看,从pythonic的角度来看(比如说,大多数的python编码方式是什么),选择特定行的方法是首选的?
另外,我觉得有更多的方法可以达到同样的效果。另外,我觉得这个问题已经被问到了,但我找不到。如有重复请参考
它们是不同的。如果你只是在寻找一个值,那么
有趣的是,从性能角度来看,第一种方法(使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import timeit df = pd.DataFrame({'x':np.random.choice(['a','b','c'],10000)}) def method1(df = df): return df[df['x'] == 'b'] def method2(df=df): return df[df['x'].isin(['b'])] >>> timeit.timeit(method1,number=1000)/1000 0.001710233046906069 >>> timeit.timeit(method2,number=1000)/1000 0.0008507879299577325 |