我正在尝试将 Django 应用程序从开发服务器部署到生产服务器,我已经使用 python 3.8.10 设置了 virtualenv,创建了 mysql 数据库,我正在 virtualenv 中运行。我没有收到任何错误python manage.py check,运行时得到“未检测到任何更改” python manage.py makemigrations,但是当我运行``python manage.py migrate``时,我得到以下信息:
要执行的操作:
应用所有迁移:admin、auth、contenttypes、sessions
运行迁移:
应用 contenttypes.0001_initial... OK
应用 admin.0001_initial...Traceback(最近一次调用最后):...
回溯的最后一行:
Django.db.utils.OperationalError:(1824,“无法打开引用的表‘classroom_user’”)
(“classroom”是项目“codex”中应用程序的名称)我最近刚刚在我的开发服务器上重建了该数据库中的所有表,没有出现任何问题。
生产服务器上的数据库为空。models.py 已就位且完整。我已经尝试过使用空的迁移文件夹并删除迁移文件夹。迁移确实创建 django_admin_log、django_content_types、django_migrations,但没有其他表。
我在这方面看到的所有其他帖子都是关于外键约束的,但在我的 models.py 中,所有具有外键的表都是在键所在的表之后指定的。
我想从数据框中获取两列的相关系数:df['a'] 和 df['b'] 大约有 15 或 20 行数据。
我将它们分配给“col1”和“col2”并尝试调用 corr 方法:
col1 = df['a']
col2 = df['b']
corr = col1.corr(col2,method="pearson")
Run Code Online (Sandbox Code Playgroud)
我收到错误:“float”对象没有属性“shape”
如果我导入统计库并尝试:
corr, pval=stats.pearsonr(col1,col2)
Run Code Online (Sandbox Code Playgroud)
我得到一个相关系数。那么我在第一件事上做错了什么?
在回答其中一条评论时,我检查了 col1 和 col2 的类型,它们都是系列。我认为这会起作用,因为我转到了文档中的此链接: https: //pandas.pydata.org/docs/reference/api/pandas.Series.corr.html 这没有表明您需要指定这是一个系列而不是数据框。
我还检查了完整数据框的类型:
print(type(df))
Run Code Online (Sandbox Code Playgroud)
它以 dataframe 类型返回。完整的 dataframe 有 21 列,带有索引。我只想获得其中两列的相关系数。这是打印 col1 和 col2 时得到的数据子集:
col1:
Country
Indonesia 9.3659e-05
Japan 0.000388417
Canada 0.001638514
...
Name: a, dtype: object
col2:
国家
印度尼西亚 65
日本 194
加拿大 167
...
名称:b,dtype:对象
是国家/地区的索引导致了问题吗?