2015-12-16 59 views
0

我有了數據是這樣的.csv文件:交換行標題和列標題在python

#file...out/houses.csv 
#data...sun may 1 11:20:43 2011 
#user...abs12 
#host...(null) 
#group...class=house 
#property..change_per_hour 
#limit...0 
#interval..10000000 
#timestamp,house_0,house_1,house_2,house_3,.....,house_1000 
2010-07-01 00:00:00 EDT,1.2,1.3,1.4,1.5,........,9.72 
2010-07-01 01:00:00 EDT,2.2,2.3,2.4,2.5,........,19.72 
2010-07-01 02:00:00 EDT,3.2,3.3,3.4,3.5,........,29.72 
2010-07-01 05:00:00 EDT,5.2,5.3,5.4,5.5,........,59.72 
2010-07-01 06:00:00 EDT,6.2,,6.4,,.............., 
... 

我想轉換這一點,並保存到一個新的.csv和數據應該是這樣的:

#file...out/houses.csv 
#data...sun may 1 11:20:43 2011 
#user...abs12 
#host...(null) 
#group...class=house 
#property..change_per_hour 
#limit...0 
#interval..10000000 
#EntityName,2010-07-01 00:00:00 EDT,2010-07-01 01:00:00 EDT,2010-07-01 02:00:00 EDT,2010-07-01 05:00:00 EDT,2010-07-01 06:00:00 EDT 
house_0,1.2,2.2,3.2,5.2,6.2,... 
house_1,1.3,2.3,3.3,5.3,,... 
house_2,1.4,2.4,3.4,5.4,6.4,... 
house_3,1.5,2.5,3.5,5.5,,... 
... 
house_1000,9.72,19.72,29.72,59.72, 

我試圖用熊貓:轉換爲看起來像dtDict={'house_0':{'datetimestamp_1':'value_1','datetimestamp_2':'value_2'...}...}一本字典,但我不能轉換爲字典,並使用熊貓的DataFramepandas.DataFrame(dtDict)做轉換。我不必使用熊貓(你可以任何東西在蟒蛇),但認爲熊貓是好的csv操縱。任何幫助?

+0

我不知道你能否加載它變成一個類似np.loadtxt的數組,將其轉換(或其中的一部分)並將其寫回到csv文件中。沒有真正想過。 – Ogaday

+0

@Ogaday我想到了這一點,但無法讓它工作,並回想起過去曾使用'pandas'的東西。 –

回答

1

假設它是在大熊貓數據幀已經,這個工程:

df = pd.DataFrame(
    data=[[1, 3], [2, 5]], 
    index=[0, 1], 
    columns=['a', 'b'] 
) 

輸出:

>>>print(df) 
     a b 
    0 1 3 
    1 2 5 

然後,轉數據框:

>>>print(df.transpose()) 
     0 1 
    a 1 2 
    b 3 5 
+0

在這裏你是硬編碼'索引'。在我的情況下,原始數據在'test.csv'文件中。你能舉一個這個場景的例子嗎? –

+0

@NikhilGupta我真的不知道你的意思。我發佈的數據框是一個例子。你需要關於如何將你的csv讀入熊貓數據框的幫助? –

+0

我設法讀入並將我的.csv文件的內容轉換爲在您的示例中看起來像'df'的內容,但它不是方框。如果不是方形框架,如何做同樣的建議? (僅供參考,我試着用方形框架的csv文件,並納入你的例子,它的工作原理) –