我有一个包含 21 列的 Pandas 数据框。我关注的是具有完全相同列数据值的行的子集,除了每行唯一的 6 个行。我不知道这 6 个值对应于哪个列标题。
我尝试将每一行转换为 Index 对象,并对两行执行设置操作。前任。
row1 = pd.Index(sample_data[0])
row2 = pd.Index(sample_data[1])
row1 - row2
Run Code Online (Sandbox Code Playgroud)
它返回一个 Index 对象,其中包含对 row1 唯一的值。然后我可以手动推断哪些列具有唯一值。
如何以编程方式获取这些值在初始数据框中对应的列标题?或者,有没有办法比较两个或多个数据框行并提取每行的 6 个不同列值以及相应的标题?理想情况下,生成具有唯一列的新数据框会很好。
特别是,有没有办法使用集合操作来做到这一点?
谢谢你。
我正在做@ mbostock 关于命令行制图的教程 1.以下是我所做的:
1)下载zip文件
wget https://www.arb.ca.gov/ei/gislib/gislib.htm/ca_air_basins.zip
(来自加州空气资源委员会网站)
2)通过单击.zip文件手动解压缩(unzip命令不起作用,因为下载的文件没有'结束中心目录签名')
2)将shapefile转换为GeoJSON
shp2json CaAirBasin.shp -o ca.json
3)使用California Albers(在CaAirBasin.prj文件中指定)进行GeoJSON投影:
geoproject 'd3.geoConicEqualArea().parallels([34, 40.5]).rotate([120, 0]).fitSize([960, 960], d)' < ca.json > ca-albers.json
结果:我得到ca-albers.json(223M)比ca.json(6.3M)大得多.在本教程中使用的人口普查区shapefile中,文件大小从10增加到14 M.
更新:似乎问题是shp2json步骤而不是geoProject步骤.看着CaAirBasin.shp.xml,有两组边界的,bounding并且lbounding.在我的情况,lbounding和坐标是在100,000s范围内使用,而不是在教程(-180,180)的值,使得投影失败.
有什么好的下一步 - 是否有替代方案shp2json可以适用于我的案例?或者如何将我的边界/坐标转换为适当的(-180,180)?
谢谢.