当前位置: 首页 > 知识库问答 >
问题:

从列表中选择熊猫数据表行,按列表的顺序

端木明贤
2023-03-14
df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})
df

     A   B
0    5   1
1    6   2
2    3   3
3    4   5
# from
list_of_values = [3,4,6]

# we would like, as a result
#      A   B
# 2    3   3
# 3    4   5
# 1    6   2

共有1个答案

丁豪
2023-03-14

克服这种情况的一种方法是使'a'列成为索引并在新生成的pandas.dataframe上使用loc。最后,可以重置子采样数据帧的索引。

以下是如何:

ret = df.set_index('A').loc[list_of_values].reset_index(inplace=False)

# ret is
#      A   B
# 0    3   3
# 1    4   5
# 2    6   2 

请注意,这种方法的缺点是在过程中丢失了原始索引。

 类似资料:
  • 问题内容: 看起来很丑: 不起作用: 是否存在上述“问题”的优雅且可行的解决方案? 问题答案: 使用isin

  • 我有一个数据帧df: 然后我想删除列表中指示的具有某些序列号的行,假设这里是然后离开: 如何或什么功能可以做到这一点?

  • 问题内容: 阅读完之后:http : //pandas.pydata.org/pandas- docs/version/0.13.1/genic/pandas.DataFrame.sort.html 我似乎仍然无法弄清楚如何通过自定义列表对列进行排序。显然,默认排序是字母顺序的。我举一个例子。这是我的(非常删节的)数据帧: 我希望能够按播放器,年份和Tm进行排序。按玩家和年份的默认排序对我来说是正

  • 问题内容: 我想对以下数据框进行排序: 我想对它进行排序,以便根据列表对LSE列进行重新排序: 当然,其他列也需要相应地重新排序。有没有办法在熊猫里做到这一点? 问题答案: pandas0.15版中对s的改进支持使您可以轻松做到这一点: 如果这只是临时排序,则可能不希望将LSE列保留为a ,但是如果您希望这种排序能够在不同的上下文中使用几次,则是一个很好的解决方案。 在更高版本的,中,已被替换为,

  • 问题内容: 我有一个表格(“场地”),其中存储了志愿者可以工作的所有可能场所,每个志愿者被分配为每个场所工作一个。 我想从场所表中创建一个选择下拉列表。 现在,我可以显示分配给每个志愿者的地点,但是我希望它显示下拉框,并且已经在列表中选择了地点。 例如,将ID为7的志愿者分配给了场地编号4 我知道它将采用for或while循环的形式从场地表中拉出场地列表 我的查询是: 如何填充选择下拉框与场馆(

  • 我今天观察到,选择两列或更多列的数据帧可能比只选择一列慢得多。 如果我使用loc或iloc选择多个列,并且我使用list传递列名或索引,那么与使用iloc的单个列或多个列选择相比,性能会下降100倍(但没有传递列表) 示例: 单列选择: 两列选择: 只有此选择的工作方式与预期相同:[编辑] 机制上的差异是什么?为什么差异如此之大? [编辑]:正如@run-out指出的,pd。系列似乎比pd处理得快