Порядок генерации фрейма данных

Не могли бы вы объяснить мне, почему столбец Properties был третьим столбцом, а не первым? Как видите, я вставляю его первым в pd.DataFrame, но когда я делаю print(df), он отображается как третий столбец.

import pandas as pd

df = pd.DataFrame({'Properties':[1, 2, 3,4],
                   'Latitude':[-24.930473, -24.95575,-24.924161,-24.95579],
                   'Longitude':[-24.930473, -24.95575,-24.924161,-24.95579],
                   'cluster': (1,2,1,2)})

print(df)

    Latitude  Longitude  Properties  cluster
0 -24.930473 -24.930473           1        1
1 -24.955750 -24.955750           2        2
2 -24.924161 -24.924161           3        1
3 -24.955790 -24.955790           4        2

Порядок генерации фрейма данных

Отвечает ли это на ваш вопрос? stackoverflow.com/questions/36539396/…

medium-dimensional 06.05.2022 00:55

какая у вас версия pandas и python, потому что это отлично работает на pandas 1.4 и python 3.8

sammywemmy 06.05.2022 02:05

@sammywemmy, теперь я увидел, что у меня устаревшая версия pandas, после обновления она работала нормально. Спасибо за сообщение,

user18224546 06.05.2022 15:09
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте использовать аргумент columns, чтобы задать порядок столбцов:

import pandas as pd
df = pd.DataFrame({'C1':[1, 2, 3,4],
                   'C2':[-24.930473, -24.95575,-24.924161,-24.95579],
                   'C3':[-24.930473, -24.95575,-24.924161,-24.95579],
                   'C4': (1,2,1,2)}, columns=['C1', 'C3', 'C2', 'C4'])

Это дает:

   C1         C3         C2  C4
0   1 -24.930473 -24.930473   1
1   2 -24.955750 -24.955750   2
2   3 -24.924161 -24.924161   1
3   4 -24.955790 -24.955790   2

Хорошо, @medium-diversity, спасибо за ответ. Другое дело, есть ли разница между 'cluster': (1,2,1,2) и 'cluster': [1,2,1,2]? Я новичок в языке Python.

user18224546 06.05.2022 01:05
(1,2,1,2) — кортеж, а [1,2,1,2] — список. Однако я не уверен, что эта разница приводит к разному порядку столбцов, поскольку я получил один и тот же результат в обоих случаях. Вы можете проверить, видите ли вы какую-либо разницу в порядке столбцов, изменив cluster на кортеж или список, и открыть новый вопрос, чтобы понять, что может быть причиной разницы.
medium-dimensional 06.05.2022 01:18

Другие вопросы по теме