我有一个数据框看起来像
Cnt_A Cnt_B Cnt_C Cnt_D
ID_1 0 1 3 0
ID_2 1 0 0 0
ID_3 5 2 0 8
...
Run Code Online (Sandbox Code Playgroud)
我想计算不为零的列并将结果放入新列中,如下所示,
Total_Not_Zero_Cols Cnt_A Cnt_B Cnt_C Cnt_D
ID_1 2 0 1 3 0
ID_2 1 1 0 0 0
ID_3 3 5 2 0 8
...
Run Code Online (Sandbox Code Playgroud)
我确实循环得到了结果,但是花了很长时间(当然)。
我无法找出在条件列之间进行计算的最有效方法:(
先感谢您
我正在使功能像
输入包含:"1 2 3 4 5 6 7 8 9 10 \n"
功能输出:"{1,2,3,4,5,6,7,8,9,10} \n"
我想看看getchar()是如何工作的,所以我写了这样的函数:
int c ;
printf("{");
while ((c = getchar()) != EOF) {
printf("%c, ", c);
getchar();
}
getchar();
printf("}\n");
Run Code Online (Sandbox Code Playgroud)
当我把"1 2 3 4 5 6 7 8 9 10 \n"时,它就像:
{1, 2, 3, 4, 5, 6, 7, 8, 9, 1,
, }
Run Code Online (Sandbox Code Playgroud)
我觉得里面的缓冲区有问题.也许getchar()逐个字符地读出和输出,以便10分别被认为是1和0?
我查了一些过去的问题,但我没有得到它.感谢您的见解.