我试图使用sort_values()函数从数据框中选取一列,但它没有按照我的期望工作。让我用代码告诉你。
identity = pd.read_csv(r"demographic_info.csv", skipinitialspace=True)
eeg = pd.read_csv(r"EEG_data.csv", skipinitialspace=True)
identity.columns
identity = identity.rename(columns={' age': 'age',
' ethnicity': 'ethnicity' ,
' gender': 'gender'})
identity.sort_values(by = 'gender', inplace=True, axis = 1)
我看到列中有隐藏的空白,我用两种方法解决了这个问题。虽然它在每一种方法中都给出了相同的错误。
Traceback (most recent call last):
File "<ipython-input-8-f8783f09d99b>", line 15, in <module>
identity.sort_values(by = 'gender', inplace=True, axis = 1)
File "C:\Users\user\Anaconda3\lib\site-packages\pandas\core\frame.py", line 4993, in
sort_values
k = self._get_label_or_level_values(by, axis=axis)
File "C:\Users\user\Anaconda3\lib\site-packages\pandas\core\generic.py", line 1774, in
_get_label_or_level_values
raise KeyError(key)
KeyError: 'gender'
你应该用axis=0排序,而不是axis=1。
identity.sort_values(by = 'gender', inplace=True, axis = 0)