对Python/Pandas还很陌生,并且尝试在iPython笔记本的python3中对我的数据帧执行操作。在
我有一个测向仪:
df= Building ID CorporationName IndividualName
1 Sample, LLC John
1 n/a Sam
1 n/a Nancy
2 n/a Tim
2 n/a Larry
2 n/a Paul
3 n/a Rachel
4 Sample1, LLC Dan
我想创建一个新的dataframe,只对CorporationName下所有匹配的BuildingID值使用“n/a”作为值的行。通常,这很容易,但在本例中,我们有重复的BuildingID值,即使整行不是重复的。所以理想情况下,我们的输出如下:
^{pr2}$我的第一个想法是:
nocorp = ownercombo[ownercombo.CorporationName == 'n/a']
但显然,对于某些与BuildingID相关的条目,这将返回“n/a”的行,而不是全部。在
说实话,我真的不知道该怎么做。我建议用我能找到的最接近的帖子。但是,我意识到如果我这样做,它只会返回四个布尔值:
In: morethanone = ownercombo.groupby((ownercombo['BuildingID'].value_counts() > 1))
Out: CorporationName
BuildingID
False True
True True
我显然没有任何地方接近正确的轨道,所以任何帮助我指出正确的方向将不胜感激!在
您可以使用
groupby/filter
:首先可以找到列} 值,而不是(} 字符串{}。然后可以使用^{} 按掩码过滤{}:
CorporationName
的^{~
)^{相关问题 更多 >
编程相关推荐