按dict或类似json的列筛选dataframe

2024-04-24 05:25:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧如下:

       score           pvpdate
0      {2: 29, 4: 24}  2018-05-23
1      {2: 23, 4: 24}  2018-05-29
2      {2: 36, 4: 25}  2018-05-23

我想过滤score列得到如下结果

^{pr2}$

我该怎么做?我已经尝试过像json列那样的score列的方法,但它不起作用。在


Tags: 数据方法jsonscorepr2pvpdate
2条回答

Dictionary column in pandas dataframe 我从中找到了答案 import ast df['score']=df['score'].map(lambda d:ast.literal_eval(d)) dfNew=df.join(pd.DataFrame(df['score'].to_dict()).T)

如果希望列名称从字典的键中按^{}提取列,请使用DataFrame构造器并按^{}更改列名,最后一个^{}所有不带{}的列:

df = pd.DataFrame(df.pop('score').values.tolist()).add_prefix('score').join(df)
print (df)
   score2  score4     pvpdate
0      29      24  2018-05-23
1      23      24  2018-05-29
2      36      25  2018-05-23

Anf如果需要按解析数据帧长度创建的列名称,请使用f-strings:

^{pr2}$

相关问题 更多 >