我已经read_csv
在 Jupyter 笔记本(Python 2)中导入了一个带有 Pandas 的制表符分隔文件,并且我提取了感兴趣的单列:
rawData = pd.read_csv(filename, delim_whitespace = True, header = 20)
columnOfInterest = rawData.ix[:, 9]
我感兴趣的专栏的格式是这样的:
header1=123;header2=123;header3=123
并非此 DataFrame 中的每一行都有每个标题,而且我不知道完整的可能标题集。我的数据值“123”都是数字。
使用拆分列中的元素后;
,我的所有行的列数都等于行中的值数,这在整个数据集中并不统一(参差不齐)。我想将其转换为具有缺失值的矩阵。
我想做的是从我的DataFrame中取出每一行,提取标题信息,如果标题标签是新的(即它不存在于任何已处理的行中),那么我想添加它到我的列名列表。当然,我希望从行中删除标题名称和等号,并且我希望我的数据都在适当的位置(因此,使用附加到每个数据值的标题信息将值放置在适当的列中)。所以,我想要看起来像这样的东西:
# Original data frame, first 2 rows
['header1=123', 'header2=123', 'header3=123'] # <--- no header4
['header1=123', 'header3=123', 'header4=123'] # <--- no header2
# New data frame, first 2 rows plus column names
header1 header2 header3 header4
123 123 123 null # <--- header4 == null
123 null 123 123 # <--- header2 == null
显然,这似乎是正则表达式的工作!但是,我不知道如何在 Pandas 中进行此操作。缺失的数据应该为空。