log2, не найденный в моем math.h?

Давайте попробуем так:

age_ind = df.index[df['Age'] == '0~4'].tolist()

for i in age_ind:
    df.at[i,['2010', '2011', '2012']]  = (df.at[i,"2010"]+df.at[i-1,"2010"]),(df.at[i,"2011"]+df.at[i-1,"2011"]),(df.at[i,"2012"]+df.at[i-1,"2012"])

df.drop(df[df.Age == '-1~7'].index)

Вывод:

    Geo       Age     2010  2011 2012
1   toronto     0~4     7   4   9
2   toronto     5~9     4   5   5
4   bc          0~4     3   6   3
5   bc          5~9     3   1   1
7   mt          0~4     6   5   5
8   mt          5~9     6   6   6
31
задан Tony R 16 April 2009 в 20:51
поделиться

2 ответа

Из здесь :

Прототип: double log2 (double anumber);
Заголовочный файл: math.h (C) или cmath (C ++)

Альтернативно эмулируйте его как здесь

#include <math.h>  
...  
// Calculates log2 of number.  
double Log2( double n )  
{  
    // log(n)/log(2) is log2.  
    return log( n ) / log( 2 );  
}  

К сожалению, Microsoft не предоставляет его .

59
ответ дан 27 November 2019 в 21:41
поделиться

log2 () определяется только в стандарте C99, но не в стандарте C90 , Microsoft Visual C ++ не полностью совместим с C99 (черт возьми, не существует ни одного полностью совместимого с C99 компилятора, я полагаю - даже GCC полностью не поддерживает его), поэтому не требуется предоставлять log2 () .

10
ответ дан 27 November 2019 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: