使用下面的数据框,我想优化总回报,同时满足某些界限。
d = {'Win':[0,0,1, 0, 0, 1, 0],'Men':[0,1,0, 1, 1, 0, 0], 'Women':[1,0,1, 0, 0, 1,1],'Matches' :[0,5,4, 7, 4, 10,13],
'Odds':[1.58,3.8,1.95, 1.95, 1.62, 1.8, 2.1], 'investment':[0,0,6, 10, 5, 25,0],}
data = pd.DataFrame(d)
Run Code Online (Sandbox Code Playgroud)
我想最大化以下等式:
totalreturn = np.sum(data['Odds'] * data['investment'] * (data['Win'] == 1))
Run Code Online (Sandbox Code Playgroud)
函数应该最大化满足以下边界:
for i in range(len(data)):
investment = data['investment'][i]
C = alpha0 + alpha1*data['Men'] + alpha2 * data['Women'] + alpha3 * data['Matches']
if (lb < investment ) & (investment < ub) & (investment > C) == False:
data['investment'][i] = …Run Code Online (Sandbox Code Playgroud) 我有以下两个数据帧:
a = pd.DataFrame([[1,2, 3],[4,3,6], [np.nan, 2, np.nan]])
0 1 2
0 1.0 2 3.0
1 4.0 3 6.0
2 NaN 2 NaN
Run Code Online (Sandbox Code Playgroud)
和
b = pd.DataFrame([[0,1,3],[5,3,5 ],[np.nan, np.nan, np.nan]])
0 1 2
0 0.0 1.0 3.0
1 5.0 3.0 5.0
2 NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
a>b 的比较结果:
0 1 2
0 True True False
1 False False True
2 False False False
Run Code Online (Sandbox Code Playgroud)
但是,我希望输出如下所示:
0 1 2
0 True True False
1 False False True
2 nan nan nan
Run Code Online (Sandbox Code Playgroud)
的比较2>np.nan …
您可以使用 talib 和 btalib 库中内置的函数来计算许多指标。逐个指标收集所有信息会很麻烦。有没有办法立即做到这一点?如果是这样,我应该如何在 python 中继续这样做?
http://mrjbq7.github.io/ta-lib/func_groups/pattern_recognition.html
我正在尝试使用 docker 容器内的 pyspark 连接到计算机的 localhost:5432 上的 postgres 数据库。为此,我使用 VS 代码。VS code 自动构建并运行容器。这是我的代码:
password = ...
user = ...
url = 'jdbc:postgresql://127.0.0.1:5432/postgres'
spark = SparkSession.builder.config("spark.jars","/opt/spark/jars/postgresql-42.2.5.jar") \
.appName("PySpark_Postgres_test").getOrCreate()
df = connector.read.format("jbdc") \
.option("url", url) \
.option("dbtable", 'chicago_crime') \
.option("user", user) \
.option("password", password) \
.option("driver", "org.postgresql.Driver") \
.load()
Run Code Online (Sandbox Code Playgroud)
我不断收到同样的错误:
“调用 o358.load 时发生错误。\n:java.lang.ClassNotFoundException:\n无法找到数据源:jbdc。...
也许网址不正确?
url = 'jdbc:postgresql://127.0.0.1:5432/postgres'
Run Code Online (Sandbox Code Playgroud)
该数据库位于端口5432上,名称为postgres。数据库位于我的本地主机上,但由于我在 docker 容器中工作,我认为正确的方法是输入笔记本电脑的 IP 地址 localhost 127.0.0.1。如果您输入localhost,它将引用您的 docker 容器的 localhost。或者我应该使用IPv4 地址(无线 LAN .. 或 wsl)。
任何人都知道出了什么问题吗? …
python ×3
function ×2
apache-spark ×1
bayesian ×1
comparison ×1
dataframe ×1
docker ×1
nan ×1
optimization ×1
package ×1
pandas ×1
postgresql ×1
pyspark ×1
scipy ×1
ta-lib ×1