Я пытаюсь добавить заголовки столбцов к следующему набору данных. В соответствии со спецификациями проекта я не могу просто изменить файл, чтобы добавить эти заголовки вручную.Pandas преобразует все данные в NaN после добавления значений столбцов
Образец данных, которые я работаю с:
38.049133 0.224026 0.05398 -19.11 -20.03
38.352526 0.212491 0.05378 -18.35 -19.19
38.363598 0.210654 0.05401 -20.11 -20.89
54.936819 0.216794 0.20114 -20.94 -21.88
54.534881 0.578615 0.12887 -19.75 -20.66
54.743075 0.508774 0.18331 -20.54 -21.53
54.867240 0.562636 0.13956 -19.95 -20.85
54.856908 0.544031 0.13938 -20.14 -21.03
54.977748 0.501912 0.13923 -20.27 -21.01
54.992762 0.460376 0.12723 -20.24 -20.83
Я создал массив из 5 строк, чтобы действовать в качестве заголовков каждого из столбцов в пределах этого DataFrame. Используя назначенный заголовок, выбирает только этот столбец (т. Е. print(df['z'])
выполняет печать только одного столбца (предположительно), но все данные в DataFrame, которые отображаются просто отлично (т. Е. Точно показывают вышеприведенные строки и правильно определяют столбцы), когда я не задавать столбцы, вдруг становится «NaN», когда я указать заголовки столбцов из массива строк
Пример моего кода:.
... imports and whatnot not shown
dataColumns = ['RA', 'DEC', 'z', 'M(g)', 'M(r)']
dataFile = pd.read_csv(data = 'file_name', delim_whitespace = True)
df = pd.DataFrame(data = dataFile, columns = dataColumns)
print(df)
Пример вывода кода выше (предполагается отображать точно данные образцов выше, но с добавленными заголовками колонн):
RA DEC z M(g) M(r)
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN
Почему это так, что без указания параметра «столбцы» для DataFrame данные будут правильно распечатываться после указания параметра, все отображается как NaN?
Любая помощь будет оценена!
- paanvaannd
Спасибо за помощь! Сейчас он работает: +) – paanvaannd
Добро пожаловать! Пожалуйста, примите этот ответ, если это тот, который вы использовали :) – cmaher
Принято: +) Что касается моего вопроса для @James, поставленного в комментарии к их ответу: есть ли какая-то причина для выбора 'df.columns' для указания имен' 'параметр? – paanvaannd