Как я могу получить доступ к столбцу CSV, окруженному пробелами? - PullRequest
0 голосов
/ 08 июня 2019

У меня есть файл .cvs, из которого я импортировал свои данные.Я использовал фрейм Pandas Data.

timestamp ,ty,la,lo,he,acc,v,be,x,y,z
1434838676097.07,gps,48.77,-81.3838208,220.8674103,6,41.72777754,134.6484375,

Я перепробовал все, чтобы оно заработало, но я не смог получить доступ к столбцу "timestamp".Я пытался

d = [0.0, 1.0, 2.0]
e = pd.Series(d, index = ['a', 'b', 'c'])
df = pd.DataFrame({'A': 1., 'B': e, 'C': pd.Timestamp('20130102')})

df.B[0] # 0.0 - fall back to position based
df.B['0'] # KeyError - no label '0' in index
df.B['a'] # 0.0 - found label 'a' in index
df.B.loc[0] # TypeError - string index queried by integer value
df.B.loc['0'] # KeyError - no label '0' in index
df.B.loc['a'] # 0.0 - found label 'a' in index
df.B.iloc[0] # 0.0 - position based query for row 0
df.B.iloc['0'] # TypeError - string can't be used for position
df.B.iloc['a'] # TypeError - string can't be used for position

1 Ответ

3 голосов
/ 08 июня 2019

Вы можете сделать это «программно»:

In [25]: df = pd.read_csv(r'C:\temp\1.csv', skipinitialspace=True)

In [26]: df.columns
Out[26]: Index(['timestamp ', 'ty', 'la', 'lo', 'he', 'acc', 'v', 'be', 'x', 'y', 'z'], dtype='object')
#   NOTE:  ---------------^    

фикс:

In [27]: df.columns = df.columns.map(str.strip)

проверка:

In [28]: df.columns
Out[28]: Index(['timestamp', 'ty', 'la', 'lo', 'he', 'acc', 'v', 'be', 'x', 'y', 'z'], dtype='object')
#   NOTE:  ---------------^    
...