我正在尝试用 python 发送电子邮件,但它一直说ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)
. 这是我的代码:
server = smtplib.SMTP_SSL('smtp.mail.com', 587)
server.login("something0@mail.com", "password")
server.sendmail(
"something0@mail.com",
"something@mail.com",
"email text")
server.quit()
Run Code Online (Sandbox Code Playgroud)
你知道有什么问题吗?
IconButton()
我目前正在使用以下代码在 Flutter 中创建一个:
IconButton(
hoverColor: Colors.transparent,
color: _tweenButton.value,
icon: Icon(Icons.send),
onPressed: () => _isComposing ? _handleSubmitted(_textController.text) : null,
)
Run Code Online (Sandbox Code Playgroud)
每当我单击图标按钮时,都会出现如图屏幕截图所示的飞溅/单击效果。MaterialApp()
该小部件在和内运行Scaffold()
。
我怎样才能停用这种视觉效果?
我正在尝试使用dask
read_parquet
方法和filters
kwarg读取镶木地板文件。但是它有时不会根据给定的条件进行过滤。
示例:使用dates
列创建和保存数据框
import pandas as pd
import numpy as np
import dask.dataframe as dd
nums = range(1,6)
dates = pd.date_range('2018-07-01', periods=5, freq='1d')
df = pd.DataFrame({'dates':dates, 'nums': nums})
ddf = dd.from_pandas(df, npartitions=3).to_parquet('test_par', engine = 'fastparquet')
Run Code Online (Sandbox Code Playgroud)
当我dates
从'test_par'
文件夹中读取和过滤列时,它似乎不起作用
filters=[('dates', '>', np.datetime64('2018-07-04'))]
df = dd.read_parquet('test_par', engine='fastparquet', filters=filters).compute()
Run Code Online (Sandbox Code Playgroud)
正如您在输出中看到的那样,2018-07-03
并且2018-07-04
存在。
+-------+------------+------+
| | dates | nums |
+-------+------------+------+
| index | | |
+-------+------------+------+
| 2 | 2018-07-03 | 3 | …
Run Code Online (Sandbox Code Playgroud) 我有一个pd.Series
每个单元格都是一个列表。我想对它进行深拷贝,但似乎pd.Series.copy
只创建了值的浅拷贝(即使deep
arg 是True
默认值)。
例子
import pandas as pd
sr = pd.Series([list(range(3)), list(range(3))])
sr_c = sr.copy()
sr[0].append(4)
Run Code Online (Sandbox Code Playgroud)
复制pd.Series
sr_c
的正在转换为
0 [0, 1, 2, 4]
1 [0, 1, 2]
Run Code Online (Sandbox Code Playgroud)
我这样做了,它奏效了:
from copy import deepcopy
sr_c = sr_c.apply(deepcopy)
Run Code Online (Sandbox Code Playgroud)
但这似乎是一个黑客,有没有更好的方法来做到这一点?
我已阅读泊坞窗,撰写文档有关的容器重新启动策略,但是我不明白之间的差别on-failure
和unless-stopped
。
我什么时候会使用一个?在哪些情况下某个策略会导致启动容器而其他策略不会?
问题在第22行:
if start_date <= data_entries.iloc[j, 1] <= end_date:
我想比较正在访问熊猫数据帧列的start_date
和end_date
部分data_entries.iloc[j, 1]
。我使用以下方式将列转换为日期时间:
data_entries['VOUCHER DATE'] = pd.to_datetime(data_entries['VOUCHER DATE'], format="%m/%d/%Y")
但是我不确定如何将其转换为日期。
import pandas as pd
import datetime
entries_csv = "C:\\Users\\Pops\\Desktop\\Entries.csv"
data_entries = pd.read_csv(entries_csv)
data_entries['VOUCHER DATE'] = pd.to_datetime(data_entries['VOUCHER DATE'], format="%m/%d/%Y")
start_date = datetime.date(2018, 4, 1)
end_date = datetime.date(2018, 10, 30)
for j in range(0, len(data_entries)):
if start_date <= data_entries.iloc[j, 1] <= end_date:
print('Hello')
Run Code Online (Sandbox Code Playgroud) 我想使用 alembic 运行从 sqlalchemy 模型到另一个模型的迁移。初始模型如下所示:
from sqlalchemy.dialects.postgresql import JSONB
from sqlalchemy_utils import UUIDType
class Foo(db.Model):
__tablename__ = 'foo'
id = db.Column(UUIDType(binary=True), primary_key=True)
foo_field = db.Column(JSONB)
Run Code Online (Sandbox Code Playgroud)
我想让它foo_field
不可为空:
class Foo(db.Model):
__tablename__ = 'foo'
id = db.Column(UUIDType(binary=True), primary_key=True)
foo_field = db.Column(JSONB, nullable=False)
Run Code Online (Sandbox Code Playgroud)
我想运行 alembic 脚本来更改列,但由于我现有的一些列为foo_field
空,所以我想server_default
在更改时应用默认值(空字典)
op.alter_column('foo',
'foo_field',
existing_type=postgresql.JSONB(astext_type=sa.Text()),
nullable=False,
server_default="{}")
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的选项来传递给这个server_default
,例如text("{}")
,,,,。但它似乎被忽略了,我得到的只是 运行升级时的:lambda: {}
{}
text("SELECT '{}'")
IntegrityError
sqlalchemy.exc.IntegrityError: (psycopg2.IntegrityError) column "foo_field" contains null values [SQL: 'ALTER TABLE foo ALTER COLUMN foo_field SET …
Run Code Online (Sandbox Code Playgroud) I have a pandas
DataFrame
df
that contains Timesatamp
columns.
I wish to create an iterator of rows (either via the iter..
methods or via to_dict
) from df
where the Timesatamp
values are python datetime
.
I have tried doing this
for col in df.select_dtypes(['datetime']):
df[col] = df[col].dt.to_pydatetime()
Run Code Online (Sandbox Code Playgroud)
however it seems like the columns is still Timesatamp
when using the above mentioned iterator methods.
Is there a 'batch'y way to achieve this apart from manualy converting each values when …
我目前正在处理一个较小的数据集(大约 900 万行)。不幸的是,大多数条目都是字符串,即使强制类别,框架在内存中也只有几 GB。
我想做的是将每一行与其他行进行比较,并对内容进行直接比较。例如,给定
A B C D
0 cat blue old Saturday
1 dog red old Saturday
Run Code Online (Sandbox Code Playgroud)
我想计算
d_A d_B d_C d_D
0, 0 True True True True
0, 1 False False True True
1, 0 False False True True
1, 1 True True True True
Run Code Online (Sandbox Code Playgroud)
显然,组合爆炸将排除每个记录与其他记录的比较。因此我们可以通过应用 groupby 来使用阻塞,比如在 A 列上。
我的问题是,有没有一种方法可以在 pandas 或 dask 中执行此操作,比以下序列更快:
作为参考,假设我可以使用大量的核心(数百个)和大约 200G 的内存。