Здесь data
и labels
не определены.
Вы можете инициализировать data
и labels
, добавив
data = tf.random_uniform([1000, 32])
labels = tf.random_uniform([1000, 10])
перед dataset = tf.data.Dataset.from_tensor_slices((data, labels))
Можно на самом деле просто прямо изменить порядок столбцов, но я едва рекомендовал бы это, и необходимо быть очень осторожными, если Вы решаете сделать это.
, например,
# CREATE TABLE test (a int, b int, c int); # INSERT INTO test VALUES (1,2,3); # SELECT * FROM test; a | b | c ---+---+--- 1 | 2 | 3 (1 row)
Теперь для хитрого бита, необходимо соединиться с базой данных с помощью пользователя пост-ГРЭС, таким образом, можно изменить системные таблицы.
# SELECT relname, relfilenode FROM pg_class WHERE relname='test'; relname | relfilenode ---------+------------- test_t | 27666 (1 row) # SELECT attrelid, attname, attnum FROM pg_attribute WHERE attrelid=27666; attrelid | attname | attnum ----------+----------+-------- 27666 | tableoid | -7 27666 | cmax | -6 27666 | xmax | -5 27666 | cmin | -4 27666 | xmin | -3 27666 | ctid | -1 27666 | b | 1 27666 | a | 2 27666 | c | 3 (9 rows)
attnum является уникальным столбцом, таким образом, необходимо использовать временную ценность при изменении номеров столбцов как таковых:
# UPDATE pg_attribute SET attnum=4 WHERE attname='a' AND attrelid=27666; UPDATE 1 # UPDATE pg_attribute SET attnum=1 WHERE attname='b' AND attrelid=27666; UPDATE 1 # UPDATE pg_attribute SET attnum=2 WHERE attname='a' AND attrelid=27666; UPDATE 1 # SELECT * FROM test; b | a | c ---+---+--- 1 | 2 | 3 (1 row)
Снова, потому что это играет вокруг с таблицами системы баз данных, соблюдают экстремальную осторожность, если Вы чувствуете, что действительно необходимо сделать это.
Это работает с пост-ГРЭС 8.3 с предыдущими версиями, Ваш milage может варьироваться.
Если Ваша база данных не является очень большой, и можно предоставить некоторое время простоя тогда, Вы можете:
pg_dump --create --column-inserts databasename > databasename.pgdump.sql
CREATE TABLE
оператор в databasename.pgdump.sqlsplit
команда, редактирование, то собирают назад использование cat
drop database databasename
psql --single-transaction -f databasename.pgdump.sql
--single-transaction
, это будет очень медленно при использовании так называемых больших объектов, удостоверяются, что они включены в дамп. Я не уверен, находятся ли они по умолчанию в 8,1.
Как другие упомянутые ответы, Вы не можете изменить порядок столбцов, это до пост-ГРЭС. Вы можете (и если!) решают Вашу проблему с целью. В целях Вашего запроса создания отчетов это посмотрит точно так же, как таблица. Что-то как:
create view my_view as
select * from my_table
order by some_col;
Определение порядка столбцов в запросе является единственным надежным (и нормальный) путь . Однако можно обычно получать различное упорядочивание путем изменения таблицы как показано в примере ниже, как столбцы обычно (не гарантируемый быть), возвратился в порядке, они были добавлены к таблице.
postgres=# create table a(a int, b int, c int);
CREATE TABLE
postgres=# insert into a values (1,2,3);
INSERT 0 1
postgres=# select * from a;
a | b | c
---+---+---
1 | 2 | 3
(1 row)
postgres=# alter table a add column a2 int;
ALTER TABLE
postgres=# select * from a;
a | b | c | a2
---+---+---+----
1 | 2 | 3 |
(1 row)
postgres=# update a set a2 = a;
UPDATE 1
postgres=# alter table a drop column a;
ALTER TABLE
postgres=# alter table a rename column a2 to a;
ALTER TABLE
postgres=# select * from a;
b | c | a
---+---+---
2 | 3 | 1
(1 row)
postgres=#
К сожалению, нет, это не. Порядок столбцов полностью до Пост-ГРЭС.