首页 > 解决方案 > 在 python 中使用 pandas 将日志或文本文件转换为数据框

问题描述

我有一个文本文件,其中我要存储的数据在我要分配的每个名称之后按顺序存在。基本上,我想要一个如下所示的文本文件:

Fred
quiz1, B
quiz2, C
Suzie
quiz1, A
quiz2, B

并创建一个如下所示的数据框

姓名、作业、成绩
Fred、quiz1、B
Fred、quiz1、C
Suzie、quiz1、A
Suzie、quiz2、B
'''

标签: pythonpandas

解决方案


这里有一个例子:

from io import StringIO
import pandas as pd
import numpy as np

data = """
Fred
quiz1, B
quiz2, C
Suzie
quiz1, A
quiz2, B
Susy
quiz1, E
quiz2, F
"""
df = pd.read_csv(StringIO(data),sep=',', names=['Assignment', 'Grade','Name'], header=None)
df['Name']= np.where(df['Grade'].isnull(),df['Assignment'],np.NaN)
df['Name'] = df['Name'].ffill()
print(df.dropna(subset=['Grade']))

推荐阅读