R 到 Python 通过向量子集化

R to Python subsetting via vector

我是 python 新手,但有一些 R 经验。在 R 中,如果我想子集 data.frame 我可以使用变量来做这样的事情:

# Columns

# Assign column names to variable
colsToUse <- c('col1','col2','col3')

# Use variable to subset
df2 <- df1[,colsToUse]

# Rows

# Assign column names to variable
rowsToUse <- sample(1:nrows(df1), 500)

# Use variable to subset
df3 <- df1[rowsToUse,]

我如何在 python 中执行此操作?

根据您声明的用途 pandas

colsToUse = ['col1', 'col2', 'col3']
rowsToUse = np.random.choice(range(len(df1)), 500)

df2 = df1.ix[:, colsToUse]
df3 = df1.ix[rowsToUse, :]

还有一些其他 DataFrame 索引辅助函数:df1.locdf1.ilocdf1.xs

查看指南 NumPy for MATLAB Users 也很有帮助,它也经常回答 R 用户的问题,至少在处理 numpy.ndarray) 时是这样。