我有一个建立在具有多个属性的对象上的熊猫数据框。让我们将此数据称为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)。
答案 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