ts_code = ((df[df['ts_code'].str.contains('[HZ]')]).loc[:,'ts_code']) 给ts_code去重后增加单引号 不修改原标
时间: 2023-08-10 22:04:59 浏览: 49
如果你不想修改原始数据框,可以将之前的代码修改如下:
```python
ts_code = (df[df['ts_code'].str.contains('[HZ]')]['ts_code']
.drop_duplicates()
.apply(lambda x: f"'{x}'")
.reset_index(drop=True))
```
这里,`reset_index(drop=True)` 方法用于重置索引,这样你就可以得到一个新的 Series 对象,其中包含了去重和添加单引号后的 `ts_code` 值,而不会修改原始数据框。
相关问题
ts_code = ((df[df['ts_code'].str.contains('[HZ]')]).loc[:,'ts_code']) 解释
这行代码的作用是从数据框df中筛选出ts_code列中包含字符'H'或'Z'的行,然后再从这些行中取出ts_code这一列,返回一个Series对象。具体解释如下:
1. `df['ts_code']`:表示选择数据框df中的ts_code这一列;
2. `df['ts_code'].str.contains('[HZ]')`:表示对ts_code这一列进行字符串匹配,判断其中是否包含字符'H'或'Z',返回一个布尔值的Series对象;
3. `(df[df['ts_code'].str.contains('[HZ]')])`:表示根据上一步返回的布尔值的Series对象,筛选出其中为True的行,返回一个新的数据框;
4. `((df[df['ts_code'].str.contains('[HZ]')]).loc[:,'ts_code'])`:表示在上一步筛选出来的数据框中,选择ts_code这一列的所有行,返回一个Series对象。
因此,最终的结果就是一个Series对象,其中包含了所有ts_code列中包含字符'H'或'Z'的行。
ts_code = ((df[df['ts_code'].str.contains('[HZ]')]).loc[:,'ts_code'])
这段代码是使用 Pandas 库对 DataFrame 进行操作,主要实现的功能是筛选出包含 H 或者 Z 的股票代码。具体来说,它的实现过程如下:
1. `df['ts_code'].str` 表示对 DataFrame 中的 `ts_code` 列进行字符串操作。
2. `contains('[HZ]')` 表示筛选出包含 H 或者 Z 的股票代码,其中 `[HZ]` 表示只要包含 H 或者包含 Z 就会被筛选出来。
3. `(df[df['ts_code'].str.contains('[HZ]')])` 表示经过筛选后得到的 DataFrame。
4. `loc[:,'ts_code']` 表示只选择 DataFrame 中的 `ts_code` 列。
因此,最终得到的是一个 Series,其中包含符合条件的股票代码。