我有两个数据帧A和B的维数不等。我想创建一个数据帧C,使其只包含a和B之间唯一的行。我试图遵循此解决方案(excluding rows from a pandas dataframe based on column value and not index value),但无法使其工作。在
以下是示例:
假设这是DF_A:
Star_ID Loc_ID pmRA pmDE Field Jmag Hmag
2M00000032+5737103 4264 0.000000 0.000000 N7789 10.905 10.635
2M00000068+5710233 4264 8.000000 -18.000000 N7789 10.664 10.132
2M00000222+5625359 4264 0.000000 0.000000 N7789 11.982 11.433
2M00000818+5634264 4264 0.000000 0.000000 N7789 12.501 11.892
2M00001242+5524391 4264 0.000000 -4.000000 N7789 12.091 11.482
这是DF嫒B:
^{pr2}$因此,前两个和最后一个星状标识在DF_A和DF_B之间是通用的。我想创建DF_C以便:
数据框C:
Star_ID Loc_ID pmRA pmDE Field Jmag Hmag
2M00000222+5625359 4264 0.000000 0.000000 N7789 11.982 11.433
2M00000818+5634264 4264 0.000000 0.000000 N7789 12.501 11.892
这对我很有效:
所以我们在这里要做的是创建一个布尔掩码,我们询问
Star_ID
值在两个数据帧中的位置,但是通过使用~
我们NOT
这个条件实际上是否定它的。你链接到的那个几乎是一样的东西,但我想你可能不懂语法?在编辑
为了得到只在df1中的值和只在df2中的值,可以这样做
^{pr2}$进一步编辑
所以问题是csv有前导空格,这导致两个数据集中的所有值都是唯一的,要更正这一点,您需要执行以下操作:
相关问题 更多 >
编程相关推荐