2016-04-07 17 views
0

私は何をしているのか本当に分かりません。私は2つのデータフレームを持っています。 1つは列ラベルのリストを持ち、もう1つはデータの束を持っています。データの列に列ラベルを付けるだけです。pandasデータフレーム列を別のデータフレームに名前変更する方法は?

マイコード:

airportLabels = pd.read_csv('airportsLabels.csv', header= None) 

airportData = pd.read_table('airports.dat', sep=",", header = None) 
df = DataFrame(airportData, columns = airportLabels) 

私はこれを行うと、すべてのデータが「NaNの」に変身し、1つの列だけはもうあり。私は本当に混乱しています。

答えて

0

私はあなたが、列のみを読んcsvの最初の行に列名ですので、header= Noneを削除しDataFrameairportLabelsからcolumnsread_tableにパラメータnamesを使用する必要がある場合は、read_csvにパラメータnrowsを追加必要があると思う:

import pandas as pd 
import io 

temp=u"""col1,col2,col3 
1,5,4 
7,8,5""" 
#after testing replace io.StringIO(temp) to filename 
airportLabels = pd.read_csv(io.StringIO(temp), nrows=0) 
print airportLabels 
Empty DataFrame 
Columns: [col1, col2, col3] 
Index: [] 

temp=u""" 
a,d,f 
e,r,t""" 
#after testing replace io.StringIO(temp) to filename 
df = pd.read_table(io.StringIO(temp), sep=",", header = None, names=airportLabels.columns) 
print df 
    col1 col2 col3 
0 a d f 
1 e r t 
+0

ありがとうございますが、それはうまくいかないようです。データはそこにあります(NaNはもうありませんが、カラムラベルは "0,1,2 ...などです) – pythonnoob

+0

私は時間をかけてテストします。 – jezrael

+0

ありがとうございました! "ラベルファイルから"それを修正するようだ。 – pythonnoob

関連する問題