Как я могу прочитать данные в DataFrame по одному с помощью оператора цикла? - PullRequest
0 голосов
/ 27 сентября 2018

скажем

>>> import tushare as ts
>>> df=ts.get_stock_basics()
print(df)
>>> print(df)
         name industry area      pe    ...     profit    gpr       npr   holders
code                                   ...                                      
000629   攀钢钒钛      小金属   四川   15.46    ...     176.65  25.39     16.99  328000.0
002113   天润数娱      互联网   湖南  122.93    ...      75.16  52.10     10.44   63566.0
603029   天鹅股份     农用机械   山东    0.00    ...    -132.89  35.05     -8.76   13965.0
600721    百花村     生物制药   新疆   23.82    ...      21.22  42.37     24.30   20891.0
300493   润欣科技     通信设备   上海   53.90    ...       2.11  10.69      3.45   23308.0
600532   宏达矿业       普钢   上海    0.00    ...     -64.67   2.00     -4.47   16451.0
300749   顶固集创     家居用品   广东   50.01    ...       0.00  38.01      7.66   56044.0
300748   金力永磁      元器件   江西   40.92    ...       0.00  20.94      8.47   79240.0
002931   锋龙股份     汽车配件   浙江   70.47    ...       0.00  32.10     13.05   15734.0
600101   明星电力     水力发电   四川   23.21    ...      26.58  13.71      7.13   36654.0
002219   恒康医疗      中成药   甘肃   51.07    ...     -56.30  31.11      3.88   24831.0
000593   大通燃气     供气供热   四川  161.89    ...       3.12  22.64      3.14   29631.0
002937   兴瑞科技      元器件   浙江   29.97    ...       0.00  26.30     10.13   87519.0
600568   中珠医疗     区域地产   湖北   51.79    ...     -66.89  51.11     13.11   21593.0
603701   德宏股份     汽车配件   浙江   21.60    ...      -3.29  31.54     16.26   13549.0
600603   广汇物流     仓储物流   四川   17.85    ...      76.97  55.25     24.74   26642.0
300005    探路者       服饰   北京   71.50    ...     -69.47  30.23      2.75   42941.0
002568   百润股份     红黄药酒   上海   40.70    ...      28.41  68.29     14.17   21333.0
000697   炼石有色       航空   陕西    0.00    ...      10.23  18.64    -19.91   33614.0
002007   华兰生物     生物制药   河南   38.68    ...       5.05  60.09     37.71   44000.0
000782   美达股份       化纤   广东   60.01    ...     142.72   8.78      1.31   42060.0
603538    美诺华     化学制药   浙江   25.74    ...      37.21  27.65     12.94   11346.0
002627   宜昌交运     公共交通   湖北   33.06    ...      41.84  12.09      4.05    9891.0
002864   盘龙药业      中成药   陕西   57.00    ...      71.07  70.89     14.40   22538.0
300649   杭州园林     建筑施工   浙江   63.27    ...      90.70  18.98      7.17   16732.0
300168   万达信息     软件服务   上海  138.01    ...     101.63  38.12      7.64   42770.0
002299   圣农发展     农业综合   福建   30.52    ...     204.28  13.87      6.61   22637.0
600290   华仪电气     电气设备   浙江  144.15    ...      13.64  25.08      1.48   14832.0
002496   ST辉丰     农药化肥   江苏   17.21    ...     -58.07  35.44      5.96   63487.0
002437   誉衡药业     化学制药  黑龙江   16.93    ...       3.09  73.33      8.91   45373.0

Я хочу, чтобы он выводил код (имя первого столбца) один за другим, чтобы я мог вводить каждый код в другую функцию.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Вы можете использовать pandas.Index.map:

import pandas as pd
from math import sqrt

df = pd.DataFrame({'col1': (1,2,3), 'col2': (3,4,6),}, index=[1,4,9])
df

Out:
   col1  col2
1     1     3
4     2     4
9     3     6

mapped_index = df.index.map(sqrt)
mapped_index

Out:
Float64Index([1.0, 2.0, 3.0], dtype='float64')

Затем, если вам нужно, вы можете просто перебрать результат:

for i in df.index.map(sqrt):
    ....
0 голосов
/ 27 сентября 2018

Простой демонстрационный обход индекса DataFrame:

import pandas as pd

import tushare as ts

df = ts.get_stock_basics()

print(df)

for i in df.index:
    print(i, type(i))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...