TypeError:不可散列的类型: pandas 的“切片" [英] TypeError: unhashable type: 'slice' for pandas

查看:47
本文介绍了TypeError:不可散列的类型: pandas 的“切片"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个熊猫数据结构,它是这样创建的:

I have a pandas datastructure, which I create like this:

test_inputs = pd.read_csv("../input/test.csv", delimiter=',')

它的形状

print(test_inputs.shape)

这是

(28000, 784)

我想打印其行的子集,如下所示:

I would like to print a subset of its rows, like this:

print(test_inputs[100:200, :])
print(test_inputs[100:200, :].shape)

但是,我得到了:

TypeError: unhashable type: 'slice'

有什么主意吗?

推荐答案

还有更多可能的解决方案,但输出不一样:

There is more possible solutions, but output is not same:

loc按标签选择,但iloc并且切片时没有功能,开始边界被包含,而上限被排除文档-按位置选择:

loc selects by labels, but iloc and slicing without function, the start bounds is included, while the upper bound is excluded, docs - select by positions:

test_inputs = pd.DataFrame(np.random.randint(10, size=(28, 7)))

print(test_inputs.loc[10:20])
    0  1  2  3  4  5  6
10  3  2  0  6  6  0  0
11  5  0  2  4  1  5  2
12  5  3  5  4  1  3  5
13  9  5  6  6  5  0  1
14  7  0  7  4  2  2  5
15  2  4  3  3  7  2  3
16  8  9  6  0  5  3  4
17  1  1  0  7  2  7  7
18  1  2  2  3  5  8  7
19  5  1  1  0  1  8  9
20  3  6  7  3  9  7  1


print(test_inputs.iloc[10:20])
    0  1  2  3  4  5  6
10  3  2  0  6  6  0  0
11  5  0  2  4  1  5  2
12  5  3  5  4  1  3  5
13  9  5  6  6  5  0  1
14  7  0  7  4  2  2  5
15  2  4  3  3  7  2  3
16  8  9  6  0  5  3  4
17  1  1  0  7  2  7  7
18  1  2  2  3  5  8  7
19  5  1  1  0  1  8  9

print(test_inputs[10:20])
    0  1  2  3  4  5  6
10  3  2  0  6  6  0  0
11  5  0  2  4  1  5  2
12  5  3  5  4  1  3  5
13  9  5  6  6  5  0  1
14  7  0  7  4  2  2  5
15  2  4  3  3  7  2  3
16  8  9  6  0  5  3  4
17  1  1  0  7  2  7  7
18  1  2  2  3  5  8  7
19  5  1  1  0  1  8  9

这篇关于TypeError:不可散列的类型: pandas 的“切片"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆