这是我的问题:
我在同一数据中有2列。 ID的一列(重复几个Id),其他列是关于年龄(重复多个年龄)。 我想创建新的列,我重新组合Ids然后调用/显示它们在OLD表中的位置。 一个例子: 年龄= [12,14,10,12,10](指数分别为1,2,3,4,5) 我希望获得以下内容: Age2 = [10,10,12,12,14],Indexe = [3,5,1,4,2] 当我打电话给10岁时,我可以获得10最初的以下指数(3,5)。
我的代码示例:
for ind in ind_list:
data.temp = data[data['age'] == ind].copy()
inds = data.temp.index.tolist()
#Here I obtain a list that inform me about the indexes of the IDS in
the old data
另一种方法更长:
Final = []
index = 0;
for i in range(len(CTs2) - 1, -1, -1):
data.temp = data['student_ID'][inds]
data.temp = data.temp[data.temp == CTs2[i]]
inds2 = data.temp.index.tolist()
if len(inds2) > 0:
CTs2.pop(i)
final.extend(inds2)
final.extend(inds2)
special_index += 1
我希望得到一些帮助......谢谢大家
答案 0 :(得分:0)
如果要创建存储重复年龄索引的列,可以使用
frame = pd.DataFrame(np.random.randint(1,5,(10,2)),columns=['ID','Age'])
frame['Age2'] = [[dex for y,dex in zip(frame.Age,frame.index) if x == y] for x in frame.Age]