熊猫中的字典操作



我对熊猫很陌生,在熊猫中使用字典时遇到困难。

primary_tags           MOT_tag_name
0   {"home_tags":"4"}     Bus,Bicycle,Ferry,Car
1   {"home_tags":"7"}     Bus,Ferry,Taxi
2   {"home_tags":"71"}    Bus,Bus,Car
3   {"home_tags":"46"}    Bicycle,Bus
4   {"home_tags":"32"}    Bicycle

如何提取primary_tags列中的字典值并使数据框MOT_tag_name如下所示。

primary_tags           MOT_tag_name
0                 4       Bus
1                 4       Bicycle
2                 4       Ferry
3                 4       Car
4                 7       Bus
5                 7       Ferry
6                 7       Taxi
7                71       Bus

首先使用Series.str.getSeries.str.split,因此可以通过将值拆分到列表来使用DataFrame.explode

df['primary_tags'] = df['primary_tags'].str.get('home_tags')
df['MOT_tag_name'] = df['MOT_tag_name'].str.split(',')
df = df.explode('MOT_tag_name').reset_index(drop=True)

或:

df = (df.assign(primary_tags = df['primary_tags'].str.get('home_tags'),
MOT_tag_name = df['MOT_tag_name'].str.split(','))
.explode('MOT_tag_name')
.reset_index(drop=True))

print (df)
primary_tags MOT_tag_name
0             4          Bus
1             4      Bicycle
2             4        Ferry
3             4          Car
4             7          Bus
5             7        Ferry
6             7         Taxi
7            71          Bus
8            71          Bus
9            71          Car
10           46      Bicycle
11           46          Bus
12           32      Bicycle

最新更新