嵌套json的Pandas数据帧操作



我是python的新手,需要对以下df进行一些操作。我基本上需要的是从这个开始:

>>td style="text-align:center;">01:00>td style="text-align:ccenter;">3_10<11_20><21_30>>01:07>td style="text-align:centre">n/a1_20>td style="text-align:centre!">01:12/a<1d>n/a
id name startage4age5age 6
1 x01:02n/an/an/a
2 y 01:0521_3031_4041_50n/a
3 z 01:1031_4041_50不适用

如果我理解任务,这里有一个解决方案:


df = pd.DataFrame({
'id': [1, 2],
'name': ['x', 'y'],
'start': ['01:00', '01:05'],
'end': ['01:02', '01:07'],
'age1': ['3_10', 'n/a'],
'age2': ['11_20', '11_20'],
'age3': ['21_30', '21_30'],
'age4': ['n/a', '31_40'],
'age5': ['n/a', '41_50'],
'age6': ['n/a', 'n/a']
})
# for each age create a new record with the same id and name and start and end and age
df2 = pd.DataFrame()
for i in range(1, 7):
df2 = df2.append(df[['id', 'name', 'start', 'end', 'age' + str(i)]].rename(columns={'age' + str(i): 'age'}))
# drop the rows with n/a
df2 = df2[df2.age != 'n/a']
print(df2)

如果这不是你想要澄清的,我会为你找到解决方案。

最新更新