Pandas Dataframes,如何去除每个特定列或索引的 NaN 和 Dublicates?
Pandas Dataframes, How to get rid of NaN and Dublicates per specific column or index?
第一个问题。
我有一个 df:
165 232 237
KKI-11 NaN T NaN
KKI-12 NaN A NaN
KKI-5 S T G
KKI-12 G A A
KKI-5 S NaN G
KKI-11 G NaN A
KKI-5 NaN NaN NaN
KKI-11 NaN NaN NaN
KKI-12 NaN NaN NaN
or like this:
232 237 232 165 237 165
KKI-11 T NaN NaN NaN A G
KKI-12 A A A G NaN NaN
KKI-5 NaN G T S G S
如您所见,对于每个索引和列(案例 1 的多个相等索引,案例 2 的列),
对于虚构简化形式的每个单元格来说,这意味着有一个值。
我怎样才能操纵这个数据帧之一看起来像:
165 232 237
KKI-5 S T G
KKI-11 G T A
KKI-12 G A A
希望你能帮助我以这种特定方式删除所有 NaN 和重复项。
谢谢
一种方法是对索引进行排序(获取彼此相邻的相似值),对排序后的索引进行分组,backward/upward 填充、删除空值并删除重复项
df.sort_index().groupby(level=0).bfill().dropna().drop_duplicates()
165 232 237
KKI-11 G T A
KKI-12 G A A
KKI-5 S T G
另一种方式和逻辑就像链接方法一样:
df=df.dropna(how='all').fillna(method='ffill').dropna(how='any')).drop_duplicates(keep='last')
165 232 237
KKI-5 S T G
KKI-5 S A G
KKI-11 G A A
第一个问题。
我有一个 df:
165 232 237
KKI-11 NaN T NaN
KKI-12 NaN A NaN
KKI-5 S T G
KKI-12 G A A
KKI-5 S NaN G
KKI-11 G NaN A
KKI-5 NaN NaN NaN
KKI-11 NaN NaN NaN
KKI-12 NaN NaN NaN
or like this:
232 237 232 165 237 165
KKI-11 T NaN NaN NaN A G
KKI-12 A A A G NaN NaN
KKI-5 NaN G T S G S
如您所见,对于每个索引和列(案例 1 的多个相等索引,案例 2 的列), 对于虚构简化形式的每个单元格来说,这意味着有一个值。 我怎样才能操纵这个数据帧之一看起来像:
165 232 237
KKI-5 S T G
KKI-11 G T A
KKI-12 G A A
希望你能帮助我以这种特定方式删除所有 NaN 和重复项。 谢谢
一种方法是对索引进行排序(获取彼此相邻的相似值),对排序后的索引进行分组,backward/upward 填充、删除空值并删除重复项
df.sort_index().groupby(level=0).bfill().dropna().drop_duplicates()
165 232 237
KKI-11 G T A
KKI-12 G A A
KKI-5 S T G
另一种方式和逻辑就像链接方法一样:
df=df.dropna(how='all').fillna(method='ffill').dropna(how='any')).drop_duplicates(keep='last')
165 232 237
KKI-5 S T G
KKI-5 S A G
KKI-11 G A A