我想将一个具有11576行和7列的文本文件导入pandas数据框中,然后对其进行重塑,使其具有229行和351列。
在文本文件中,每34行左右,就有2个空格(即该行的第6和第7列没有值)。
我想在这一点上对数据进行切片,并将所有先前的数据分配为第一行,但是,我不知道如何在该点处将数据剪切并将其全部放入一行。
我已经尝试过pd.read_csv
,但是无法将其设置为所需的尺寸。
任何建议都非常好。 谢谢 艾玛
Here是指向文本文件的链接。
答案 0 :(得分:1)
我认为需要read_csv
来创建DataFrame
,然后创建numpy.reshape
并选择所有不带最后2个的列:
df = pd.read_csv('fieldgen_out1.txt', skiprows=1, header=None, sep='\s+')
#print (df)
#[351 rows x 229 columns]
df = pd.DataFrame(df.values.reshape(351, -1)[:, :-2])
#print (df)
然后在必要时转置:
#[229 rows x 351 columns]
df = pd.DataFrame(df.values.reshape(351, -1)[:, :-2].T)
#print (df)