python df中rece_mode列包含 筛选出调研的行
时间: 2024-02-24 18:59:37 浏览: 27
假设你的 DataFrame 名称为 `df`,`rece_mode` 列包含需要筛选的值,可以使用以下代码来获取包含特定值的行:
```python
df[df['rece_mode'] == '调研']
```
这将返回一个新的 DataFrame,其中包含 `rece_mode` 列的值为 `'调研'` 的所有行。你可以将代码中的 `'调研'` 替换为你要筛选的其他值。
相关问题
python df中rece_mode列包含 模糊查询调研的行
如果你想要进行模糊查询,可以使用 Pandas 中的 `str.contains()` 方法。你可以使用以下代码来获取包含特定字符串的行:
```python
df[df['rece_mode'].str.contains('调研')]
```
这将返回一个新的 DataFrame,其中包含 `rece_mode` 列的值中包含字符串 `'调研'` 的所有行。你可以将代码中的 `'调研'` 替换为你想要查询的其他字符串。需要注意的是,查询字符串的大小写敏感。如果你想要进行不区分大小写的查询,可以在 `str.contains()` 方法中添加参数 `case=False`。
def __stk_surv(): df=pd.read_sql("select ts_code from stock_basic", con = con0) ts_code = (df[df['ts_code'].str.contains('[HZ]')]['ts_code'] .drop_duplicates() .apply(lambda x: f"'{x}'") .reset_index(drop=True)) for i in ts_code: try: start_date = str(pd.read_sql("select surv_date from stk_surv", con = con3).sort_values('surv_date',ascending = False).iloc[0,0]) start_date=pd.to_datetime(start_date)+pd.Timedelta(1,'days') start_date=start_date.strftime('%Y%m%d') except: start_date = 20220101 dateToday = datetime.date.today().strftime('%Y%m%d') end_date = dateToday i = i[1:10] df = pro.stk_surv(**{ "ts_code": i, "trade_date": "", "start_date": start_date, "end_date": end_date, "limit": "", "offset": "" }, fields=[ "ts_code", "name", "surv_date", "fund_visitors", "rece_place", "rece_mode", "rece_org", "org_type", "comp_rece" ]) # print(df) time.sleep(0.31) df = df[df['rece_mode'].str.contains('调研')] df.to_sql(name='stk_surv',con=con3,if_exists='append',index=False) 增加进度条
你可以在循环中使用tqdm库来添加进度条。以下是修改后的代码示例:
```
from tqdm import tqdm
import time
def __stk_surv():
df=pd.read_sql("select ts_code from stock_basic", con = con0)
ts_code = (df[df['ts_code'].str.contains('[HZ]')]['ts_code']
.drop_duplicates()
.apply(lambda x: f"'{x}'")
.reset_index(drop=True))
for i in tqdm(ts_code):
try:
start_date = str(pd.read_sql("select surv_date from stk_surv", con = con3).sort_values('surv_date',ascending = False).iloc[0,0])
start_date=pd.to_datetime(start_date)+pd.Timedelta(1,'days')
start_date=start_date.strftime('%Y%m%d')
except:
start_date = 20220101
dateToday = datetime.date.today().strftime('%Y%m%d')
end_date = dateToday
i = i[1:10]
df = pro.stk_surv(**{
"ts_code": i,
"trade_date": "",
"start_date": start_date,
"end_date": end_date,
"limit": "",
"offset": ""
}, fields=[
"ts_code",
"name",
"surv_date",
"fund_visitors",
"rece_place",
"rece_mode",
"rece_org",
"org_type",
"comp_rece"
])
# print(df)
time.sleep(0.31)
df = df[df['rece_mode'].str.contains('调研')]
df.to_sql(name='stk_surv',con=con3,if_exists='append',index=False)
```
在上面的代码中,我们使用了tqdm库来包装循环,以自动为你添加进度条。你可以根据需要自定义进度条的样式和位置。