我有一个数据框(在下面的代码中用“ tst”表示),我想从中构造一个新的数据框(用“ WhatIwant”命名)。简而言之:我删除了一些行和列以查找简化的数据框。除了删除行和列之外,是否有任何其他方法可以直接做到这一点?
tst = pd.DataFrame({'a': np.arange(7), 'b': np.arange(8,15), 'c': np.arange(16,23), 'd': np.arange(24,31)})
我想找到的东西:
WhatIwant = pd.DataFrame({'a': [0,3,5], 'c': [16,19,21], 'd': [24,27,29]})
谢谢
答案 0 :(得分:2)
Pandas出于这些目的而获得了loc
访问器
>>> tst.loc[(0, 3, 5), ('a', 'c', 'd')]
a c d
0 0 16 24
3 3 19 27
5 5 21 29
答案 1 :(得分:2)
假设您只想要行0, 3, 5
而不是列b
,那么:
In []:
WhatIwant = tst.loc[[0,3,5], tst.columns != 'b'].reset_index(drop=True)
WhatIwant
Out[]:
a c d
0 0 16 24
1 3 19 27
2 5 21 29