我的数据帧在第一列中有一个字符串,第二列中有一个数字:
GEOSTRING IDactivity
9 wydm2p01uk0fd2z 2
10 wydm86pg6r3jyrg 2
11 wydm2p01uk0fd2z 2
12 wydm80xfxm9j22v 2
39 wydm9w92j538xze 4
40 wydm8km72gbyuvf 4
41 wydm86pg6r3jyrg 4
42 wydm8mzt874p1v5 4
43 wydm8mzmpz5gkt8 5
44 wydm86pg6r3jyrg 5
45 wydm8w1q8bjfpcj 5
46 wydm8w1q8bjfpcj 5
我要做的是操作这个数据帧,以便有一个包含字符串的列表对象,该字符串由每个“GEOSTRING”值的第5个字符组成,用于每个不同的“IDactivity”值。 所以在本例中,我有3个不同的“IDactivity”值,我的列表对象中有3个字符串,如下所示:
^{pr2}$这里,您在每个字符串中看到的符号,是每个“地环”值的第五个值。在
我要的是一种解决方案,或者一种方法,它不涉及太复杂的for
循环,并且尽可能高效,因为我需要操作大量的数据。我希望它干净又快。在
我希望它足够清楚。在
这可以很容易地做到如下一行程序:(也被认为是相当快的)
这将按
IDactivity
的值对dataframe进行分组,然后从GEOSTRING
列的每个对应字符串中选择第5个元素(索引4),并将其与其他相应的字符串联接起来。最后,我们添加tolist()
方法以获得list而不是pandas系列的输出。在输出:
^{pr2}$文件:
pandas.groupby
pandas.apply
下面是一个涉及temp列的解决方案,并从this answer中获得了键操作的灵感:
结果:
^{pr2}$相关问题 更多 >
编程相关推荐