带有数组的熊猫数据框中的Selectig条目

时间:2019-01-30 19:53:42

标签: linux python-3.x pandas dataframe

我有一个建立在具有多个属性的对象上的熊猫数据框。让我们将此数据称为1。 data1具有数组x,该数组x将数据帧中的每个条目与一组值和数组y和z关联,数组y和z相同。我的代码如下。

x = (3, 5, 2, 8, 9)
y = (4, 9, 0, 2, 1)
z = (0, 3, 6, 0, 2)

cols = ['x', 'y', 'z']
data1.loc[:5, cols]

这将返回一个包含x,y和z列的表。表中的条目与上面的数组相对应。我需要做的是使用另一个数组在表中选择相应的条目。例如,假设数组为

idx = [1, 4, 5] 

我需要返回一个与上面给出的表完全相同的表,但只包含idx数组中的条目。我尝试过:

cols = ['x', 'y', 'z']
data1.loc[idx, cols]

这将返回一个与上一个表相同的表,但是现在所有条目都是分散的。如果代码仅返回与(1,4,5)对应的条目,则它将返回(1,4,5,2,3)。

1 个答案:

答案 0 :(得分:0)

类似这样的事情(记住索引从0开始):

import pandas as pd
x = (3, 5, 2, 8, 9)
y = (4, 9, 0, 2, 1)
z = (0, 3, 6, 0, 2)

df = pd.DataFrame()
df['x'] = x
df['y'] = y
df['z'] = z
print(df);print()

idx = [1, 4, 2] 
cols = ['x', 'y', 'z']
print(df.loc[idx, cols])

   x  y  z
1  5  9  3
4  9  1  2
2  2  0  6