我已经构建了一个表示飞行字符串和该字符串中的航班的数据格式。
这是用于获取实际数据的代码(仅用于信息目的的):
string = 0;
d = []
for i in data_file.index:
for j in data_file.index:
list_strings = find_all_paths(graph,i,j)
for k in range(len(list_strings)):
string = string + 1;
for m in range(len(list_strings[k])):
d.append({'path':list_strings[k][m],'string': string})
我想解决的问题:这段代码的结果如下(一个示例,因为它很大):
path string
-------------
0 1
1 1
2 1
0 2
2 3
4 3
... ...
结果:字符串1是:首先运行1次航班,然后是第1次航班,最后是第2次航班,第2次航班是0次航班,然后是第2次航班。
我想得到一个包含字符串极值的数据,这是字符串的第一次也是最后一次。
预期结果:
string first last
---------------------
1 0 2
2 0 0
3 2 4
... ... ...
发布于 2019-04-02 16:52:48
您可以将pd.concat()
与groupby()
结合使用
pd.concat([df.groupby('string').first(), df.groupby('string').last()], axis=1)
产量:
path path
string
1 0 2
2 0 0
3 2 4
发布于 2019-04-02 16:57:41
试着:
print(df.groupby('string')['path'].agg(['first','last']))
first last
string
1.0 0 2
2.0 0 0
3.0 2 4
https://stackoverflow.com/questions/55479752
复制相似问题