我有一个 200 列的 DF。它们中的大多数都带有 NaN。我想选择没有 NaN 或至少具有最小 NaN 的所有列。我试图用阈值或 notnull() 删除所有内容,但没有成功。有任何想法吗。
df.dropna(thresh=2, inplace=True)
df_notnull = df[df.notnull()]
Run Code Online (Sandbox Code Playgroud)
DF例如:
col1 col2 col3
23 45 NaN
54 39 NaN
NaN 45 76
87 32 NaN
Run Code Online (Sandbox Code Playgroud)
输出应如下所示:
df.dropna(axis=1, thresh=2)
col1 col2
23 45
54 39
NaN 45
87 32
Run Code Online (Sandbox Code Playgroud) 我想对具有多个切片索引的切片DataFrame执行一些操作.模式是df.iloc [0:24],df.iloc [24:48],df.iloc [48:72],依此类推,步骤24得到它.如何迭代它而不必每次都手动设置它.更像是df.iloc [x:z],每次迭代x = 0,z = 24,下一步迭代24步,x将是24,z = 48,依此类推.先谢谢,Hristo.
我有一个DF:
Col1 Col2 Label
0 0 5345
1 0 7574
2 0 3445
0 1 2126
1 1 4653
2 1 9566
Run Code Online (Sandbox Code Playgroud)
所以我试图在Col1和Col2上进行组合以获得基于Label列的索引值,如下所示:
df_gb = df.groupby(['Col1','Col2'])['Label'].agg(['sum', 'count'])
df_gb['sum_count'] = df_gb['sum'] / df_gb['count']
sum_count_total = df_gb['sum_count'].sum()
index = df_gb['sum_count'] / 10
Col2 Col1
0 0 2.996036
1 3.030063
2 3.038579
1 0 2.925314
1 2.951295
2 2.956083
2 0 2.875549
1 2.899254
2 2.905063
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都如我所料.但是现在我想基于这两个groupby列将这个'index'group by df分配给我原来的'df'.如果只有一列它使用map()函数,但如果我想根据两列的顺序分配索引值,则不行.
df_index = df.copy()
df_index['index'] = df.groupby([]).apply(index)
TypeError: 'Series' objects are mutable, thus they cannot …Run Code Online (Sandbox Code Playgroud)