def bucket_stats(values):
    nr = pd.DataFrame(values, columns=["IDs"])
    nr["sample_bucket"] = sample_bucket(nr["IDs"].values)
    nrs = t.group(nr, "sample_bucket")
    nrs = t.relabel(nrs.reset_index(), "index", "bucket")
    nrs["%"] = nrs["sample_bucket_count"] / np.sum(nrs["sample_bucket_count"]) * 100
    nrs = t.sort(nrs, "bucket")
    return nrs
Example #2
0
import requests
import datetime
import os, os.path
from vk_api import VkUpload
from bs4 import BeautifulSoup
from t import token, group
from check import check
from weather import *

vk = vk_api.VkApi(token=token(
))  # token() - получать в разделе "Работа с API" -> Ключ доступа
vk._auth_token()

vk.get_api()

longpoll = VkBotLongPoll(vk, group())  # group() - id группы

commands = 'Список команд:\n⚠ !чек Ваш_город - Проверить предупреждения по вашей области\n📍 !погода + метка_на_карте - Текущая погода в указанном месте\n🌆 !погода Ваш_город - Текущая погода в месте, который Вы указали в сообщении\n🌇 !погода - Текущая погода по городу, установленному в Вашем профиле VK (в сообщении место указывать не нужно)\n📍 !прогноз завтра + метка_на_карте - Прогноз погоды на завтра в указанном месте\n🌆 !прогноз завтра Ваш_город - Прогноз погоды на завтра в месте, которое Вы указали в сообщении\n🌇 !прогноз завтра - Прогноз погоды на завтра в городе, установленном в Вашем профиле VK (в сообщении место указывать не нужно)\n🌍 !цфо - Сводка прогнозов по ЦФО\n🗺 !карта - Прогностическая карта\n❓ !инфо - Подробности о предупрждениях\n💬 !легенда - Легенда карты для !карта'

text_info = 'Зелёный - оповещения о погоде не требуется\n\nЖёлтый - погода потенциально опасна\n\nОранжевый - погода опасна. Имеется вероятность стихийных бедствий, нанесения ущерба\n\nКрасный - погода очень опасна. Имеется вероятность крупных разрушений и катастроф'


def save_img(url):
    img_data = requests.get(url).content
    f = 'images/img' + str(time.time()) + '.jpg'
    with open(f, 'wb') as handler:
        handler.write(img_data)
    return (f)


def photo(file):

"""
## Test they are distributed evenly

- Create a 10 buckets distribution
- This sampling depends on the fact that guids are generated at source randomly (i.e. with equal distribution)
"""

def is_sample_bucket(user_id):
    return (user_id % 10 == 0) # we can pick any number between 0 and 9

users["is_sampled"] = is_sample_bucket(users["user_id"].values)
users.head()

sg = t.group(users, "is_sampled")
sg["%"] = sg["is_sampled_count"] / np.sum(sg["is_sampled_count"]) * 100
sg

# generate buckets for further validation is doing the right thing
# lets us check if generation at source random enought for an even distribution
def sample_bucket(user_id):
    return (user_id % 10)

def bucket_stats(values):
    nr = pd.DataFrame(values, columns=["IDs"])
    nr["sample_bucket"] = sample_bucket(nr["IDs"].values)
    nrs = t.group(nr, "sample_bucket")
    nrs = t.relabel(nrs.reset_index(), "index", "bucket")
    nrs["%"] = nrs["sample_bucket_count"] / np.sum(nrs["sample_bucket_count"]) * 100
    nrs = t.sort(nrs, "bucket")
Example #4
0
def test_group(table1):
    """Tests row and column by name"""
    assert t.where(t.group(table1, "user"), "user", 1).reset_index()['index'].values[0] == 't'