我是python的新手,自己学习熊猫。所以我得到第一种语法的结果,但没有第二种语法的结果。据我了解,我们正在使用loc作为标签。因此,我们应该能够在括号内提及列名。你能帮我吗?
df1['EdLevel'].value_counts()--this gives the results
df1.loc['EdLevel'].value_counts()---gives error while running.
错误是这样的:
KeyError Traceback (most recent call last)
~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
2645 try:
-> 2646 return self._engine.get_loc(key)
2647 except KeyError:
pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas\_libs\index_class_helper.pxi in pandas._libs.index.Int64Engine._check_type()
KeyError: 'EdLevel'
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last)
<ipython-input-105-bc8968bf3244> in <module>
----> 1 df1.loc['EdLevel'].value_counts()
通常,您提到的第一个语法用于访问列。但是,您也可以使用df.loc[]
也访问列。可以按照以下步骤完成。
import pandas as pd
df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
index=['cobra', 'viper', 'sidewinder'],
columns=['max_speed', 'shield'])
max_speed shield
cobra 1 2
viper 4 5
sidewinder 7 8
df.loc[:,'shield'] # acess entire 'shield' column
cobra 2
viper 5
sidewinder 8
Name: shield, dtype: int64
您还可以访问多列。df.loc[:,['shield','max_speed']]
但是在访问多列时不能使用value_counts()方法,因为它返回的数据帧不是序列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句