我有一个文件,其中的数据用不同的空格分隔,列名也有空格。
Type Dec LookupTable Field Name Field Len Start Pos
NUM 0 _ sample data 5 1
NUM 0 _ sample data 10 6
CHAR 0 _ sample data 60 16
NUM 0 _ sample data 3 76
CHAR 0 _ sample data 60 79
CHAR 0 _ sample data 60 139
CHAR 0 _ sample data 60 199
CHAR 0 _ sample data 60 259
NUM 0 _ sample data 3 319
CHAR 0 _ sample data 60 322
CHAR 0 _ sample data 60 382
NUM 0 _ sample data 3 442
CHAR 0 _ sample data 60 445
我是这样阅读这份文件的
df= pd.read_fwf('./temp.txt', colspecs= 'infer')
得到列之间用空格和数值分隔的 Dataframe
我想删除Nan列并将其之前的列名替换为空列名。如何高效地实现这一点?
预期输出:
2条答案
按热度按时间myzjeezk1#
这里,在列表解析
aaa
中,创建成对的元组(在left
上是要重命名的列的名称,在right
上是要删除的列的名称),通过条件检查所有值为空的列:dictionary
是从aaa
创建的。drop
删除了选中的列np.array(aaa)[:, 1]
(要按切片选择数组,我用np.array将其 Package )。ecbunoof2#
我从剪贴板读取数据,因此我的DataFrame看起来与您的略有不同,这也意味着,您必须调整代码,这应该不是什么大问题