2024-04-24 05:25:29 发布
网友
我有一个数据帧如下:
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列得到如下结果
我该怎么做?我已经尝试过像json列那样的score列的方法,但它不起作用。在
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)
import ast df['score']=df['score'].map(lambda d:ast.literal_eval(d)) dfNew=df.join(pd.DataFrame(df['score'].to_dict()).T)
如果希望列名称从字典的键中按^{}提取列,请使用DataFrame构造器并按^{}更改列名,最后一个^{}所有不带{}的列:
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:
f-string
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
构造器并按^{Anf如果需要按解析数据帧长度创建的列名称,请使用
^{pr2}$f-string
s:相关问题 更多 >
编程相关推荐