python 使用mysql的private_investor表格中ts_code列 来筛选出surv_date表格中ts_code
时间: 2024-02-29 16:52:36 浏览: 62
好的,您可以使用如下的 SQL 语句来实现您的需求:
```sql
SELECT ts_code FROM surv_date WHERE ts_code IN (SELECT ts_code FROM private_investor);
```
这个 SQL 语句中使用了子查询,先从 `private_investor` 表格中选出所有的 `ts_code`,然后在外部查询中使用 `IN` 关键字,筛选出在 `surv_date` 表格中存在的 `ts_code`。这样就可以得到您想要的结果了。
相关问题
pandas 用institution表中的ts_code和private_investor表中的ts_code求交集,并且合并表
假设institution表中包含列为'ts_code'和'inst_name',private_investor表中包含列为'ts_code'和'investor_name',可以使用pandas中的merge函数实现交集和合并表。
代码示例:
```python
import pandas as pd
# 读取institution表和private_investor表
institution = pd.read_csv('institution.csv')
private_investor = pd.read_csv('private_investor.csv')
# 使用merge函数合并表,并且求交集
result = pd.merge(institution, private_investor, on='ts_code', how='inner')
# 输出合并后的结果
print(result)
```
其中,参数on指定合并的列为'ts_code',参数how指定合并方式为'inner',即求交集。最后输出合并后的结果。
python中 if cost := self.get_investor_cost(self.params_map.instrument_id)
在Python中,这个代码片段看起来像是在使用一种称为"walrus operator"(:=)的新特性,它是在Python 3.8版本引入的。`if cost := self.get_investor_cost(self.params_map.instrument_id)`这样的语法意味着如果计算`self.get_investor_cost(self.params_map.instrument_id)`的结果成功,并将其赋值给变量`cost`,则条件判断成立;如果该表达式无法求值(如函数返回None),则不会进行赋值操作。
这里的`self.get_investor_cost`是一个方法,可能是某个投资类或策略类里的,用于获取某项投资的成本。`self.params_map.instrument_id`应该是从类的属性`params_map`中获取的某个特定证券的标识符。
整体上,这是一种简洁的方式来检查并设置变量的值同时作为条件判断的一部分。举个例子:
```python
if cost := get_expense(self.current_security): # 假设get_expense()是个获取费用的方法
print(f"Investment cost for {self.current_security} is {cost}")
```
阅读全文