Как разделить два кадра данных - PullRequest
1 голос
/ 21 октября 2019

У меня есть два DataFrames:

     info_1  info_2
key                
A         1       6
B         2       7
C         3       8
D         4       9
E         5       0

и:

     info_3
key        
A         1
B         7
C         3
D         9
E         5

Я хотел бы разделить первый DataFrame на второй следующим образом:

     info_1  info_2
key                
A     1       6
B     0.286   1
C     1       2.667
D     0.444   1
E     1       0

, то есть:

     info_1  info_2
key                
A       1/1     6/1
B       2/7     7/7
C       3/3     8/3
D       4/9     9/9
E       5/5     0/5

Как я могу выполнить эту работу без итерации по каждому элементу с циклом for?

Ответы [ 4 ]

1 голос
/ 21 октября 2019

На самом деле, для меня (панды 0,25), axis=0 необходимо для div:

df1.div(df2.info_3, axis=0)

Выход:

       info_1    info_2
key                    
A    1.000000  6.000000
B    0.285714  1.000000
C    1.000000  2.666667
D    0.444444  1.000000
E    1.000000  0.000000
1 голос
/ 21 октября 2019

Используйте div с axis=0

df1.div(df2['info_3'], axis=0)

       info_1    info_2
key                    
A    1.000000  6.000000
B    0.285714  1.000000
C    1.000000  2.666667
D    0.444444  1.000000
E    1.000000  0.000000
1 голос
/ 21 октября 2019

используйте метод div

df1.div(df2['info_3'], axis=0)

, вы можете проверить this как учебное пособие с примерами

0 голосов
/ 21 октября 2019

Pandas поставляется с div функцией См. Документацию

В вашем случае вы можете использовать ее как: df1.div(df2['info_3'])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...