python - 选择pd.Dataframe中的逆向索引

标签 python pandas dataframe indexing

如何使用lociloc选择pd.DataFrame中的逆向索引?

我尝试了 df.loc[!my_index,my_feature] 但失败了。

df.loc[[ind for ind in df.index.tolist() if ind not in my_index],my_feature] 看起来太乏味了。有更好的主意吗?

最佳答案

使用difference :

df.loc[df.index.difference(my_index),my_feature]

或者 numpy.setdiff1d :

df.loc[np.setdiff1d(df.index, my_index),my_feature]

示例:

my_index = [5,7]
df = pd.DataFrame({'A': ['a','a','a','b'], 'B': list(range(4)) }, index=[5,7,8,9])
print (df)
   A  B
5  a  0
7  a  1
8  a  2
9  b  3

print(df.loc[df.index.difference(my_index),'A'])
8    a
9    b
Name: A, dtype: object

关于python - 选择pd.Dataframe中的逆向索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49854796/

相关文章:

python - 在 Flask 模板中渲染 html 字符串

python - 为什么添加这个 __init__() 方法会破坏我的 Django 模型?

尝试使用 list.insert 时出现 Python 索引错误

python - pandasrolling如何保留每个时间窗口的第一个时间索引

python - 如何将 csv 文件读取为 dtype datetime64?

python - 当您需要基于另一列更新列时,在 Pandas 中循环的替代方法

python - 使用 Pandas 从 Excel 转换为 CSV,我有多个可能的 Excel 工作表名称

python - Seaborn pairplot 使用 anaconda 和 pycharm 无法正常工作。获得自由度警告

r - 修改 R 中数据框的内容

r - 如果在 2 行中满足某些条件,如何在 R 数据框中添加新列以显示当前行和前一行中值的总和?