Пожалуйста, проверьте, как только выбранная база данных не была вызвана, потому что некоторая база данных не выбрана
Проверьте
mysql_select_db('database name ')or DIE('Database name is not available!');
перед запросом MySQL, а затем перейдите к следующему шагу
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
f($result === FALSE) {
die(mysql_error());
Для объектов pandas (Series, DataFrame) оператор индексирования [] принимает только
colname
или список столбцов для выбора столбцов Для df[[colname(s)]]
внутренние скобки для списка, а внешние скобки - индексирование оператора, то есть вы должны использовать двойные скобки, если вы выберете два или более столбца. С одним именем столбца одна пара скобок возвращает серию, в то время как двойные скобки возвращают фрейм.
Кроме того, df.ix[df['A'] < 3,['A','C']]
или df.loc[df['A'] < 3,['A','C']]
лучше, чем прикованный выбор, чтобы избежать возврата копии по сравнению с представлением
Для получения дополнительной информации см. документацию pandas
Поскольку у вас нет столбцов с именем 'A','C'
, это то, что вы пытаетесь сделать, что поднимет KeyError
, поэтому вам нужно использовать итеративный для подвыборки из df.
Итак,
df[df['A'] < 3]['A','C']
поднимает
KeyError: ('A', 'C')
blockquote>to
In [261]: df[df['A'] < 3][['A','C']] Out[261]: A C 0 0 1 1 2 5
Это ничем не отличается от попыток:
df['A','C']
, поэтому вам нужны двойные квадратные скобки:
df[['A','C']]
Обратите внимание, что современные путь должен использовать
.ix
:In [264]: df.ix[df['A'] < 3,['A','C']] Out[264]: A C 0 0 1 1 2 5
. Так что вы работаете на представлении, а не в потенциальной копии
Поскольку внутренние скобки - это просто синтаксис python (буквальный) для списка.
Внешние скобки - это операция индексатора объекта dataframe pandas.
В этом примере использования inner ['A', 'B']
определяет список столбцов, передаваемых как один аргумент в операцию индексатора, который обозначается внешними скобками.