Форум сайта python.su
Здравствуйте!
Вопрос такой:
есть 2 pandas DataFrame - df1, df2
в определенные ячейки df2 нужно скопировать данные из определенных ячеек df1. Делаю это так:
for i in range (0, len (df2)): df2.iloc [i, 2] = df1.loc [df2.iloc[i,0], 'Place'] df2.iloc [i, 3] = df1.loc [df2.iloc[i,0], 'Breakaway'] df2.iloc [i, 4] = df1.loc [df2.iloc[i,0], 'Backlog']
Отредактировано _IIOXMEJI_ (Сен. 11, 2017 10:35:14)
Офлайн
Не совсем понял как именно там нужно было копировать, вот один из вариантов:
Есть DF с котировками:
In [5]: quotes Out[5]: Date ReprDate Open High Low Close Volume 5 736305.0 2016-12-07 46.61 48.94 46.52 48.65 10210334 6 736306.0 2016-12-08 48.60 48.60 47.70 48.05 6239952 7 736307.0 2016-12-09 49.27 50.64 48.74 49.64 9850774 8 736310.0 2016-12-12 49.16 49.34 47.44 47.59 8643546 9 736311.0 2016-12-13 47.94 48.49 47.71 47.84 6147695 10 736312.0 2016-12-14 47.84 48.75 47.80 47.92 5293889 11 736313.0 2016-12-15 48.10 49.95 48.10 48.30 7530837 12 736314.0 2016-12-16 48.61 49.07 47.56 47.63 9299673 13 736317.0 2016-12-19 47.89 48.60 47.74 48.58 4729855 14 736318.0 2016-12-20 48.50 49.50 48.50 49.22 4814999
In [6]: my_volume Out[6]: Empty DataFrame Columns: [Date, ReprDate, Volume] Index: []
In [7]: my_quotes = quotes.loc[quotes['Volume'] > 7000000] In [8]: for col in ['Date', 'ReprDate', 'Volume']: ...: my_volume[col] = my_quotes[col].values ...: In [9]: my_volume Out[9]: Date ReprDate Volume 0 736305.0 2016-12-07 10210334 1 736307.0 2016-12-09 9850774 2 736310.0 2016-12-12 8643546 3 736313.0 2016-12-15 7530837 4 736314.0 2016-12-16 9299673
Отредактировано WoMax (Сен. 10, 2017 00:54:55)
Офлайн
Я подредактировал пост. Может так будет яснее.
Офлайн
In [37]: df1 Out[37]: Points Place Breakaway Backlog Team1 13 1 1 0 Team2 12 2 1 -1 Team3 11 3 1 -1 In [38]: df2 Out[38]: HomeTeam AwayTeam HomePlace HomeBreakaway HomeBacklog 0 Team1 Team2 None None None 1 Team2 Team3 None None None 2 Team3 Team1 None None None In [39]: for i, row in df2.iterrows(): ....: row['HomePlace'] = df1.loc[row['HomeTeam']]['Place'] ....: row['HomeBreakaway'] = df1.loc[row['HomeTeam']]['Breakaway'] ....: row['HomeBacklog'] = df1.loc[row['HomeTeam']]['Backlog'] ....: In [40]: df2 Out[40]: HomeTeam AwayTeam HomePlace HomeBreakaway HomeBacklog 0 Team1 Team2 1 1 0 1 Team2 Team3 2 1 -1 2 Team3 Team1 3 1 -1
Отредактировано WoMax (Сен. 11, 2017 18:23:57)
Офлайн