2014-11-21 55 views
0

我想从文件创建一个数据帧对象。该文件类似于这样来自文件的python熊猫数据帧

Gibberish Header1 
Gibberish Header2 
Gibberish Header3 
Gibberish Header4 (etc)... 
TAG THING_I_WANT_AS_COLUMN_NAME Column1 
1.0 # I'll want this index as data 1 
1.2 # I'll want this index as data 2 
1.3 etc 
TAG THING_I_WANT_AS_COLUMN_NAME Column2 
1.1 
1.1 
1.7 

东西,我想数据框看起来类似于:

 Column_1 Column_2 
data1 1.0   1.1 
data2 1.2   1.1 
data3 1.3   1.7 

有没有办法做到这一点,而无需编写一个函数把它变成一本字典,可直接写入DataFrame类?我在想可能会重塑,但我不确定这对我的情况如何。我知道写一个字典是一件容易的事情,但这些文件可能很大,所以它可能会大大减慢我的速度,甚至无法使用我的RAM。

任何帮助,即使在正确的方向点将不胜感激。

谢谢!

+1

不,您需要编写代码将其转换为熊猫可以直接读取的格式(如CSV)。 – BrenBarn 2014-11-21 04:41:01

+0

预先解析并保存,然后将其读入DataFrame中 - 无需将中间产品保存在内存中。 – wwii 2014-11-21 04:46:12

回答

0

当从头开始创建熊猫数据帧我通常做... 进口大熊猫作为PD

# create array for each column 
col1 = [float(35*x) for x in xrange(10)] 
col2 = [float(220*x) for x in xrange(10)] 

dict = {'col1_name': col1, 'coll2_name': col2} 
df = pd.DataFrame(dict) 

像其他人所说的,你必须先分析数据。没有看到实际数据很难说清楚什么。你可能会循环遍历文件中的每一行,忽略标题,一旦你点击列名和东西设置标志。然后,您可以开始将值附加到数组。一旦你在数组中有两组数字,就像我在那里创建一个字典一样,你将拥有一个数据框!