我正在尝试使用sqlalchemy. 此页面显示基于 DSN 的连接如下。
engine = create_engine("mssql+pyodbc://scott:tiger@some_dsn")
有没有办法使用 DSN 指定数据库名称?我知道我们可以在odbc.iniSQL 查询中或在 SQL 查询中指定数据库名称,但我想知道我们是否也可以这样做。
engine = create_engine("mssql+pyodbc://scott:tiger@some_dsn/databasename")
我想用 pymongo(3.0.3 版)通过其 ID 更新现有的 mongodb 文档。但是我的python代码没有更新。有谁知道为什么..?
这是我想运行的 mongodb 脚本,这在 mongo 客户端 Robomongo 上运行良好。
db.mycollection.update(
{ '_id': ObjectId("55d49338b9796c337c894df3") },
{ $set: { "details.model": "14Q22" } },
upsert=false
)
Run Code Online (Sandbox Code Playgroud)
但是这个python代码不起作用。
client = pymongo.MongoClient("1.1.1.1", 27017)
db = client.mydb
db.mycollection.update(
{ '_id': "55d49338b9796c337c894df3" },
{ '$set': { "details.model": "14Q22" } },
upsert=False
)
Run Code Online (Sandbox Code Playgroud)
它返回
{u'n': 0, u'nModified': 0, u'ok': 1, 'updatedExisting': False}
Run Code Online (Sandbox Code Playgroud) 我有一个DataFrame并且需要计算与公司年初相比的变化百分比。有什么方法可以使用pct_change()或其他方法来执行此任务?谢谢!
df 看起来像
security date price
IBM 1/1/2016 100
IBM 1/2/2016 102
IBM 1/3/2016 108
AAPL 1/1/2016 1000
AAPL 1/2/2016 980
AAPL 1/3/2016 1050
AAPL 1/4/2016 1070
Run Code Online (Sandbox Code Playgroud)
我想要的结果
security date price change
IBM 1/1/2016 100 NA
IBM 1/2/2016 102 2%
IBM 1/3/2016 108 8%
AAPL 1/1/2016 1000 NA
AAPL 1/2/2016 980 -2%
AAPL 1/3/2016 1050 5%
AAPL 1/4/2016 1070 7%
Run Code Online (Sandbox Code Playgroud) 我正在使用 pandas 数据框并尝试将多个字符串和数字连接成一个字符串。
这有效
df1 = pd.DataFrame({'Col1': ['a', 'b', 'c'], 'Col2': ['a', 'b', 'c']})
df1.apply(lambda x: ', '.join(x), axis=1)
0 a, a
1 b, b
2 c, c
Run Code Online (Sandbox Code Playgroud)
我怎样才能像 df1 一样工作?
df2 = pd.DataFrame({'Col1': ['a', 'b', 1], 'Col2': ['a', 'b', 1]})
df2.apply(lambda x: ', '.join(x), axis=1)
TypeError: ('sequence item 0: expected str instance, int found', 'occurred at index 2')
Run Code Online (Sandbox Code Playgroud) python ×5
pandas ×2
dataframe ×1
excel ×1
mongodb ×1
percentage ×1
pymongo ×1
pyodbc ×1
sql-server ×1
sqlalchemy ×1
string ×1
xlwings ×1