我需要以下数据集的帮助:
Name1 Name2 Name3 Temp Height
Alon Walon Balon 105 34 ]
Alon Walon Balon 106 42 |
Alon Walon Balon 105 33 ]-- Samples of Spot: Alon-Walon-Balon
Alon Walon Kalon 101 11 ]
Alon Walon Kalon 102 32 ]-- Samples of Spot: Alon-Walon-Kalon
Alon Talon Balon 111 12 ]-- Samples of Spot: Alon-Talon-Balon
Alon Talon Calon 121 10 ]-- Samples of Spot: Alon-Talon-Calon
我想要实现什么?你知道吗
我有一个空间点的样本,这一点用三个词来描述,在这种情况下,让我们以阿隆·瓦隆·巴隆为例: 我想将Temp中的每个值与其他值(如105)进行比较,如果该值高于105,则将其保存到另一列。 身高也一样。你知道吗
我现在是怎么做的?你知道吗
df = df.groupby[['Name1','Name2','Name3','Temp','Height']].size().reset_index()
visited = ()
cntSpot = 0
overValTemp = 0
overValHeight = 0
for i in len(df):
name1 = str(df.get_value(i,'Name1'))
name2 = str(df.get_value(i,'Name2'))
name3 = str(df.get_value(i,'Name3'))
if str(name1+name2+name3) in visited:
cntSpot+=1
if df.get_value(i,'Temp')>105:
overValTemp+=1
if df.get_value(i,'Height)<13:
overValHeight+=1
a = str(name1+name2+name3)
visited.update({a:cntSpot,overValemp,overValHeight})
现在我有了一套字典,里面有每个点超过某个值多少次的信息。 这是我需要的信息,一个地点发生了多少次。 诀窍在哪里? csv文件超过2GB,我需要以难以置信的速度处理它。你知道吗
这是一个使用pandas groupby的解决方案,它肯定比循环更有效。你知道吗
结果如下:
相关问题 更多 >
编程相关推荐