Панды, как написать запрос - PullRequest
0 голосов
/ 03 мая 2018

На основании этого Панды получают среднее по столбцу / среднее значение

Я могу создать простое вычисляемое поле, например: Мой запрос

df = pd.read_sql("select range_start, range_end  from "+table+" group by  range_start, range_end", conn)

создает эту таблицу:

Start   Stop
4385159 4499467
4175786 4352309
342426  354137
5591040 5600392

Что я хочу сделать, так это вставить столбец с разницей, которую я могу сделать следующим образом:

df2['Diff'] = df2['Stop'] - df2['Start']

Теперь мой стол выглядит так:

Start   End      Diff
4385159 4499467 114308
4175786 4352309 176523
342426  354137  11711

Моя проблема в том, как написать запрос, который будет возвращать результаты:

df = pd.read_sql("select Diff  from "+table+" where Diff < Xnumber group by  Diff", conn)

Я думаю, мне нужно поместить запрос в запрос в jupyter (pandas). сделать что-то вроде этого:

df = pd.read_sql("select (df2['Stop'] - df2['Start']) as df2['Diff'] where (df2['Stop'] - df2['Start']) < Xnumber group by (df2['Stop'] - df2['Start'])",conn)

^ это не сработало, но вы поняли

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Понял:

df6 = pd.read_sql("select (Start - Stop) as Diff from "+table+" where <condition>",conn)
0 голосов
/ 03 мая 2018

Я мог бы что-то упустить, но не могли бы вы просто создать новый столбец прямо в пандах, без каких-либо запросов?

df['Diff'] = df2['Stop'] - df2['Start']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...