Преобразование из SPSS в Pandas ... результат дает "b'var_name" для всех переменных - PullRequest
0 голосов
/ 14 октября 2019

enter image description here Я пытаюсь преобразовать файл SPSS в Pandas, который работает нормально. Однако все переменные представлены как «b'variable_name». Он ставит «b» перед каждой переменной и заключает в одинарные кавычки исходное имя переменной. Есть ли способ сделать это и сохранить исходное имя переменной?

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

df = pd.DataFrame(list(s.SavReader(r'C:\Users\Nick\Desktop\GitProjects\Data\M2.sav', returnHeader=True, 
                                   recodeSysmisTo='NaN',ioUtf8=True,rawMode=True)))
df.head(10)

# Create a new variable called 'header' from the first row of the dataset
header = df.iloc[0]
# Replace the dataframe with a new one which does not contain the first row
df = df[1:]
# Rename the dataframe's column values with the header variable
M2 = df.rename(columns = header)
M2.head(10)

Вот итоговый таймфрейм. Это нормально, но мне нужно избавиться от 'b' и одинарных кавычек вокруг каждой переменной.

1 Ответ

0 голосов
/ 14 октября 2019

Для быстрого исправления, к этому:

header = list(map(str, df.iloc[0])) 

Таким образом, b '' означает, что все ваше имя заголовка является байтом, а не строкой. Это может быть связано с функцией чтения. Sav Filw

...