2016-04-07 28 views
0

Ich verstehe wirklich nicht, was ich tue. Ich habe zwei Datenrahmen. Einer hat eine Liste von Spaltenbezeichnungen und ein anderer hat eine Reihe von Daten. Ich möchte nur die Spalten in meinen Daten mit meinen Spaltenbeschriftungen beschriften.Wie Umbenennen Pandas Dataframe Spalte mit einem anderen Datenrahmen?

Mein Code:

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

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

Wenn ich dies tun, werden alle Daten verwandelt sich in „NaN“, und es ist nur eine Spalte mehr. Ich bin ziemlich verwirrt.

Antwort

0

Ich glaube, Sie Parameter hinzufügen müssen nrows-read_csv, wenn Sie Spalten lesen müssen, entfernen Sie header= None, weil erste Reihe von csv Spaltennamen und dann Parameter verwenden names in read_table mit columns von DataFrameairportLabels:

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

Danke, aber das schien nicht zu funktionieren. Die Daten sind jetzt da (keine NaNs mehr), aber die Spaltenbezeichnungen sind jetzt "0,1,2 ... etc) – pythonnoob

+0

Bitte geben Sie mir Zeit, ich teste es. – jezrael

+0

Vielen Dank! Entfernen der" headers = none "Aus der Etikettendatei schien es zu reparieren. – pythonnoob

Verwandte Themen