gpt4 book ai didi

python - 如何通过在单个单元格中删除 NaN 来调整数据帧的大小?

转载 作者:太空宇宙 更新时间:2023-11-04 00:10:45 25 4
gpt4 key购买 nike

我有一个看起来像这样的 df:

column1   column2    column3   column4
1 2 nan 4
1 2 3 nan
1 2 nan nan
1 2 nan nan

如何 reshape 数据框,对于每个包含 NaN 的单元格,将其删除,如果该列具有相同的值,则只取它的一个实例?

新的 df 应该是这样的;

column1   column2    column3   column4
1 2 3 4

我有大约 500 列包含像这样参差不齐的数据。

编辑:

我使用这行代码将具有参差不齐数据的值移动到一行中。

df = df.apply(lambda x: pd.Series(x.dropna().values))

新的 df 看起来像这样:

column1   column2    column3   column4
1 2 3 4
1 2 nan nan
1 2 nan nan
1 2 nan nan

然后我删除重复项:

df = df.drop_duplicates()

df 现在看起来像这样:

 column1   column2    column3   column4
1 2 3 4
1 2 nan nan

不知道为什么 Nan 在这一点之后没有下降,但是行在下降:

pivoted_df = pivoted_df.dropna()

最佳答案

您可以通过 ffill 转发缺失值,删除 NaN 的行并删除重复项:

df = df.ffill().dropna().drop_duplicates()
print (df)
column1 column2 column3 column4
1 1 2 3.0 4.0

或者如果需要第一个由某些列指定的组的非缺失值:

df = df.groupby(['column1','column2'], as_index=False).first()
print (df)

column1 column2 column3 column4
0 1 2 3.0 4.0

关于python - 如何通过在单个单元格中删除 NaN 来调整数据帧的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52537070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com