Я прочитал тонны постов из нашей базы данных за последние несколько дней. с моими ограниченными навыками в python и pandas и numpy, я не уверен, нашел ли я ответы, которые я желаю. пожалуйста, посмотрите на мою ситуацию и посмотрите, что я могу с ней сделать. и я сожалею о китайских иероглифах в результатах поиска.
В настоящее время я пишу количественный анализ для личного использования. Я получил csv-файл через tushare-pro, который представляет собой фрейм данных из 3825 строк.
df1 = pd.DataFrame(pd.read_csv(stock_stats_ts.csv))
data1 = np.array(df1.loc[:,:])
возвращает
[[300826 'N测绘' '建筑工程' ... 41.16 16.85 40171.0]
[2770 '科迪乳业' '乳制品' ... 21.05 4.38 47133.0]
[2503 '搜于特' '服饰' ... 8.6 3.08 65664.0]
...
[2260 '*ST德奥' '家用电器' ... 23.08 3.03 24704.0]
[995 '*ST皇台' '白酒' ... 68.05 -35.24 10275.0]
[939 '*ST凯迪' '新型电力' ... 10.79 -74.92 79373.0]]
и затем я ограничиваю его до желаемых вещей, таких как код / имя / esp / pb / roe
df2 = df1.loc[:,['code','name','esp','pb','npr']]
data2 = np.array(df1.loc[:,:])
возвращает
[[300826 'N测绘' 1.08 2.79 16.85]
[2770 '科迪乳业' 0.03 2.13 4.38]
[2503 '搜于特' 0.098 2.17 3.08]
...
[2260 '*ST德奥' 0.034 0.0 3.03]
[995 '*ST皇台' -0.079 0.0 -35.24]
[939 '*ST凯迪' -0.362 0.0 -74.92]]
, и у меня также есть список названий акций, которые мне нужны из предыдущей сессии
df3 = pd.DataFrame(pd.read_csv(candidates.csv))
data3 = np.array(df3.loc[:,['candidates']])
возврат
[['维维股份']
['ST正源']
['美克家居']
['*ST金山']
['大有能源']
['好当家']
['贵州茅台']
['通策医疗']
['杭州解百']
['耀皮玻璃']
['梅花生物']
['金牌厨柜']
['继峰股份']
['胜利股份']
['渝 开 发']
['云南白药']
['中原环保']
['兴蓉环境']
['华闻集团']
['粤 水 电']
['濮耐股份']
['*ST东南']
['洪涛股份']
['达实智能']
['千红制药']
['闽发铝业']
['史丹利']
['加加食品']
['张家港行']
['国联水产']]
В чем я уверен, так это что мои кандидаты точно в столбцах df2 [имя], а затем, с какими строками кодов, чтобы я мог отфильтровать свой df2 на основе результатов, полученных от df3?
Благодаря шефу @Rexhil Regmi и @nimrodm, мой вопрос отлично работал с pd.merge
. Однако все эти китайские символы в кодировке «gbk», которые невозможно прочитать в MS Excel. Любые подсказки, чтобы изменить их в 'utf8'?