我有以下数据结构:
s和d列表示x列中对象的转换。我要做的是为列x中的每个对象获取一个转换字符串。例如,使用以下新列:
有没有一种使用pandas而不使用太多循环的精益方法
这就是我尝试的代码:
obj = df['x'].tolist()
rows = []
for o in obj:
locs = df[df['x'] == o]['s'].tolist()
str_locs = '->'.join(str(l) for l in locs)
print(str_locs)
d = dict()
d['x'] = o
d['new'] = str_locs
rows.append(d)
tmp = pd.DataFrame(rows)
这使得输出温度为:
x new
a 1->2->4->8
a 1->2->4->8
a 1->2->4->8
a 1->2->4->8
b 1->2
b 1->2
示例df:
下面的代码将生成列x中存在的所有对象的转换字符串
groupby
关于列x并获取s和d的列表列表,用于xitertools.groupby
从合并列表中删除连续重复项相关问题 更多 >
编程相关推荐