【发布时间】:2021-11-19 02:57:21
【问题描述】:
我有一个如下的 ascii 文件(示例)
id lon lat val1 val2 val3
1 22 38 67 66 87 89
2 23.5 39 56 10 90 98
3 22.5 38.5 34 45 56 78
对于特定点(纬度、经度),我想将变量 val1、val2、val3 设置为零。 例如对于 lon=22, lat=38 和 lon=23.5,lat=39
我尝试了以下方法(仅用于 val1 修改),我得到了 ValueError: The truth value of a Series is ambiguous。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。 我怎么能做到这一点(也将所有变量 val 设置为 0)
import pandas as pd
col_names=['id','lon','lat','val1','val2','val3']
df = pd.read_csv(i,sep='\s+',names=col_names,header=None)
df.loc[df['Lon'] ==22 and df['Lat'] ==38, 'val1'] = 0
【问题讨论】:
-
and比较系列无效,需要位运算符&
标签: python pandas pandas-loc