python - 如何对 pandas 数据框地理定位进行切片

标签 python pandas

我已将一堆数据从 CSV 文件读入我的数据框 (df)。 其中一个字段是 GeoLocation(经度、纬度),我希望切出经度在 37 到 40 之间的某些行。 CSV 将地理位置存储在包含(经度、纬度)的列中 我在使用“df.where()”函数时遇到问题

geo = df.where(df['GeoLocation'][0] < 40 & df['GeoLocation'][0] > 37)

这会不断抛出错误

TypeError: 'str' object cannot be interpreted as an integer

当我尝试对列进行切片时,我做错了什么?

这是我用来提取数据的代码

df = pd.concat([x for x in pd.read_csv('U.S._Chronic_Disease_Indicators__CDI_.csv', chunksize=1000)], ignore_index=True)'

最佳答案

您想先拆分系列,然后再进行过滤

df[['lat', 'long']] = df['GeoLocation'].str.split(',', expand=True).astype(float)
geo = df[(df['lat'] < 40) & (df['long'] > 37)]

请注意,[(x) & (y)] 对于您明确拥有所有括号非常非常挑剔。

关于python - 如何对 pandas 数据框地理定位进行切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42958313/

相关文章:

python - 在 python 中追加表(不同的行号)以实现可视化目的

python - 如何通过多个键对数组进行分组?

Python ActiveMQ : Is it possible to use pika client to work on ActiveMQ?

python - Pandas GroupBy.agg() 抛出 TypeError : aggregate() missing 1 required positional argument: 'arg'

python - 在 pandas read_sql 中可选择 SQLalchemy 的方法

python - 使用 Pandas 从 CSV 导入空列

Python Pandas,将 DataFrame 写入固定宽度文件(to_fwf?)

python按修改时间过滤文件

python - 无法使用 Google BigQuery 进行身份验证

python django media_root