我正在尝试从此数据框中选择一些特定的行:
df Name Book
1 a1 a2
2 b1 b2
3 c1 c2
4 d1 d2
我有一个变量result
,其中包含从数据帧的第一行到最后一行的生成的数字。
现在我尝试
df_new=df.loc[result,:]
这给了我一个错误。当我在没有book列的情况下使用df时,它可以工作,但是df_new
仅包括第一列。我不知道如何在选择特定行时使其返回多列。
我想要的例子:
df_new Name Book
2 b1 b2
3 c1 c2
我拥有/得到的东西:
df_new Name
2 b1
3 c1
答案 0 :(得分:0)
尝试一下。
start = 1
end = 2
df.loc[start:end,:]
答案 1 :(得分:0)
您要插入一个逗号,告诉.loc
您正在切换到选择列。
所以df.loc[result:]
已经可以解决问题了。
或者,您可以明确地指定一个包含所有列的范围:df.loc[result:, :]
看看.loc
的pandas
'文档以了解更多信息!
允许的输入为:
单个标签,例如
5
或'a'
,(请注意,5
被解释为索引的标签,而不是索引中的整数位置)。标签的列表或数组,例如
['a', 'b', 'c']
。带有标签的切片对象,例如
'a':'f'
。警告
请注意,与通常的python切片相反,开始和停止都包括在内
与所切轴长度相同的布尔数组,例如
[True, False, True]
。具有一个参数(调用Series或DataFrame)的
callable
函数,该函数返回用于索引的有效输出(上述之一)