我试图找出如何过滤pandas中的数据,然后为满足筛选条件的项目的列中的所有行分配一个值,并使其影响原始数据帧。 这是我迄今为止最接近的一次尝试,但它抛出了大量信息警告:
import pandas as pd
df = pd.read_csv('http://www.sharecsv.com/dl/9096d32f98aa0ac671a1cca16fa43be8/SalesJan2009.csv')
df['Zone'] = ''
zone1 = df[(df['Latitude'] > 0) & (df['Latitude'] > 0)]
zone2 = df[(df['Latitude'] < 0) & (df['Latitude'] > 0)]
zone3 = df[(df['Latitude'] > 0) & (df['Latitude'] < 0)]
zone4 = df[(df['Latitude'] < 0) & (df['Latitude'] < 0)]
zone1[['Zone']] = zone1[['Zone']] = 1
zone2[['Zone']] = zone1[['Zone']] = 2
zone3[['Zone']] = zone1[['Zone']] = 3
zone4[['Zone']] = zone1[['Zone']] = 4
df
这根本不会影响原始数据帧,但会设置过滤后的子集中的值。在
我假设我可能需要过滤掉符合我每个过滤器的所有内容,并将其从原始过滤器中删除,然后将更改连接回原始过滤器??在
这是一个随机数据集,用来说明我要做什么,但是我的实际数据集包含的数据不符合任何筛选条件,我需要将这些数据保持为未知,因为我没有像本例中那样消耗所有行。在
我尽量避免必须循环每一行,并检查每一行的标准,所以如果有人知道我如何才能做到这一点,我会非常感谢!在
IIUC,你想做这样的事情:
输出:
^{pr2}$您没有注意到这两个条件都在检查纬度,您应该检查
.loc
,以便学习如何正确地更改数据帧部分的值。在相关问题 更多 >
编程相关推荐