fix: 增加pd.read_sql

This commit is contained in:
chenwj113 2022-10-18 11:44:43 +08:00
parent a0f3c18d08
commit e2d9c2fca7
2 changed files with 36 additions and 17 deletions

View File

@ -1,21 +1,38 @@
import pandas as pd
import numpy as np
from sqlalchemy import create_engine
s1 = pd.Series([1.47, 2.3, 3.0])
s2 = pd.Series([5.5, 6.1])
s3 = pd.Series([2.3, 4.6, 5.3])
engine = create_engine("mysql+pymysql://root:123456@localhost/lottery?charset=utf8")
conn = engine.connect()
sql = """SELECT
id, sum_num, (id - MAX(last_id)) AS span
FROM (
SELECT
p.id, t1.id AS last_id, p.sum_num
FROM pls p
LEFT JOIN (
SELECT id, sum_num
FROM pls ORDER BY id
) t1 ON t1.sum_num = p.sum_num AND t1.id < p.id
) tmp GROUP BY id, sum_num"""
df = pd.read_sql(sql, conn)
print(df.loc[["sum_num", "span"]][:30])
s1.index = [True, False, False]
s2.index = [False, True]
s3.index = [False, True, False]
# s1 = pd.Series([1.47, 2.3, 3.0])
# s2 = pd.Series([5.5, 6.1])
# s3 = pd.Series([2.3, 4.6, 5.3])
a1 = np.expand_dims(s1.to_numpy(), axis=0)
a2 = np.expand_dims(s2.to_numpy(), axis=0)
a3 = np.expand_dims(s3.to_numpy(), axis=0)
# s1.index = [True, False, False]
# s2.index = [False, True]
# s3.index = [False, True, False]
print(a1.shape)
print(a2.T.shape)
print((a1.T)*a2)
t = (a2.T)*a1
print(len(t.flatten()))
print((s1*s2).loc[True])
# a1 = np.expand_dims(s1.to_numpy(), axis=0)
# a2 = np.expand_dims(s2.to_numpy(), axis=0)
# a3 = np.expand_dims(s3.to_numpy(), axis=0)
# print(a1.shape)
# print(a2.T.shape)
# print((a1.T)*a2)
# t = (a2.T)*a1
# print(len(t.flatten()))
# print((s1*s2).loc[True])

6
pls.py
View File

@ -19,7 +19,9 @@ for i in group3:
for i in sum_group_dict.keys():
f3 = lambda number: True if '3' not in number else False
print(i, list(filter(f3, sum_group_dict[i])))
if i == 14:
continue
print(i, sum_group_dict[i])
# print(sum_group3_dict)
# sum_group3 = [ sum(map(int, list(i))) for i in group3]
# print(pd.value_counts(sum_group3).to_dict())
@ -37,7 +39,7 @@ for i in sum_group6_dict.keys():
f3 = lambda number: True if '2' not in number else False
f4 = lambda number: True if max(map(int, number)) - min(map(int, number)) != 2 else False
f5 = lambda number: True if '3' not in number else False
print(i, list(filter(f5, sum_group6_dict[i])))
# print(i, sum_group6_dict[i])
# print(i, list(filter(f3, filter(f2, filter(f1, sum_group_dict[i])))))
# print(i, sum_group_dict[i])
# print(pd.value_counts(sum_group3).to_dict())