Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas-如何对标头为字符串但列内容为百分比的数据帧进行排序_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python Pandas-如何对标头为字符串但列内容为百分比的数据帧进行排序

Python Pandas-如何对标头为字符串但列内容为百分比的数据帧进行排序,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我是Python初学者。我从web表创建了一个数据帧 我想按其中一列按降序对数据帧进行排序。我想要排序的列的标题是一个字符串“Pct of Widgets w/Green Label”,但列的内容是百分比 我使用下面的代码按预期的列对数据帧进行排序。它确实按预期的列进行了排序,但100%的条目没有按照我的需要显示在顶部 html = driver.page_source soup = BeautifulSoup(html) table = soup.find_all('table')[1] df

我是Python初学者。我从web表创建了一个数据帧

我想按其中一列按降序对数据帧进行排序。我想要排序的列的标题是一个字符串“Pct of Widgets w/Green Label”,但列的内容是百分比

我使用下面的代码按预期的列对数据帧进行排序。它确实按预期的列进行了排序,但100%的条目没有按照我的需要显示在顶部

html = driver.page_source
soup = BeautifulSoup(html)
table = soup.find_all('table')[1]
df = pd.read_html(str(table))[0]
sorted_df = df.sort_values(by=8, ascending=False)
这是一个数据帧的图像,细节被屏蔽了

在第8列中,100%的条目应位于列表的顶部,但90%的条目位于顶部,100%的条目位于列表的下部

第8列的标题是字符串“带绿色标签的小部件Pct”,但该列中的数据是百分比。如何使此数据帧按预期进行排序


谢谢

检查您的
.dtype
如果它是对象,那么您是在对字符串而不是数字进行排序。考虑在从字符串末尾移除%之后,使用<代码> Pd。to<数字/>代码,然后排序。