我正在学习 C 语言的指针,我有一些问题。
#include <stdio.h>
int main()
{
char c = 'A';
char* pc = &c;
char** ppc = &pc;
printf("%p %p\n", pc, ppc);
printf("%p %p\n", pc + 1, ppc + 1);
printf("%p %p\n", &c, &c + 1);
printf("%p %p\n", &pc, &ppc);
printf("%p %p\n", &pc + 1, &ppc + 1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,让我们说
&c = 0117FE7B
&pc = 0117FE6C
&ppc = 0117FE60
Run Code Online (Sandbox Code Playgroud)
我以为有些答案会是这样的:
ppc + 1 = 0117FE6D
&pc + 1 = 0117FE6D
&ppc + 1 = 0117FE61
Run Code Online (Sandbox Code Playgroud)
但正确的答案是这样的: …
当数据框是这样时,
a b c d
0 1.0 NaN 3.0 NaN
1 NaN 6.0 NaN 8.0
2 9.0 NaN NaN NaN
3 13.0 NaN 15.0 16.0
Run Code Online (Sandbox Code Playgroud)
我想删除b 和 d 列中都包含 NaN 的行。所以我希望结果是这样的。
a b c d
1 NaN 6.0 NaN 8.0
3 13.0 NaN 15.0 16.0
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我无法使用,df.dropna(thresh=2)因为我不想擦除第 1 行,
如果我使用,df.dropna(subset=['b', 'd'])那么第 3 行也将被删除。
我现在该怎么办?