请教关于python pandas布尔索引的问题 5
假设df是DataFrame结构表格,有A、B、C几列。请教两个问题:(1)如果想索引A列大于2的所有行数据,只有写成df[df.A>2]才能执行,如果此处用df.loc...
假设df是DataFrame结构表格,有A、B、C几列。请教两个问题:
(1)如果想索引A列大于2的所有行数据,只有写成df[df.A>2]才能执行,如果此处用df.loc[df.A>2]或df.iloc[df.A>2]都会出错,请问为什么?
(2)如果想索引列名不为C的所有列数据,写成df.loc[:,df.columns!='C']或df.iloc[:,df.columns!='C']都能正确执行,结果一样,这是为什么?谢谢。
上面第2个问题中,如果不写loc或iloc,如df[:,df.columns!='C'],就会出错,而df[df.A>2]却不错,为什么? 展开
(1)如果想索引A列大于2的所有行数据,只有写成df[df.A>2]才能执行,如果此处用df.loc[df.A>2]或df.iloc[df.A>2]都会出错,请问为什么?
(2)如果想索引列名不为C的所有列数据,写成df.loc[:,df.columns!='C']或df.iloc[:,df.columns!='C']都能正确执行,结果一样,这是为什么?谢谢。
上面第2个问题中,如果不写loc或iloc,如df[:,df.columns!='C'],就会出错,而df[df.A>2]却不错,为什么? 展开
1个回答
展开全部
先看一个小例子
from pandas import Series, DataFrame
data = DataFrame({'k': [1, 1, 2, 2]})
print data
IsDuplicated = data.duplicated()
print IsDuplicated
print type(IsDuplicated)
data = data.drop_duplicates()
print data
执行结果是:
k
0 1
1 1
2 2
3 2
0 False
1 True
2 False
3 True
k
0 1
2 2
from pandas import Series, DataFrame
data = DataFrame({'k': [1, 1, 2, 2]})
print data
IsDuplicated = data.duplicated()
print IsDuplicated
print type(IsDuplicated)
data = data.drop_duplicates()
print data
执行结果是:
k
0 1
1 1
2 2
3 2
0 False
1 True
2 False
3 True
k
0 1
2 2
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询