我有一个巨大的数据框,里面有值和空白/ NA。我想从数据框中删除空格,并在列中向上移动下一个值。考虑下面的示例数据框。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5,4))
df.iloc[1,2] = np.NaN
df.iloc[0,1] = np.NaN
df.iloc[2,1] = np.NaN
df.iloc[2,0] = np.NaN
df
0 1 2 3
0 1.857476 NaN -0.462941 -0.600606
1 0.000267 -0.540645 NaN 0.492480
2 NaN NaN -0.803889 0.527973
3 0.566922 0.036393 -1.584926 2.278294
4 -0.243182 -0.221294 1.403478 1.574097
我希望我的输出如下
0 1 2 3
0 1.857476 -0.540645 -0.462941 -0.600606
1 0.000267 0.036393 -0.803889 0.492480
2 0.566922 -0.221294 -1.584926 0.527973
3 -0.243182 1.403478 2.278294
4 1.574097
我希望删除NaN,然后将下一个值上移。df.shift
没有帮助。我尝试了多个循环和if语句,并获得了预期的结果,但是还有什么更好的方法可以完成它。
你可以用apply
与dropna
:
np.random.seed(100)
df = pd.DataFrame(np.random.randn(5,4))
df.iloc[1,2] = np.NaN
df.iloc[0,1] = np.NaN
df.iloc[2,1] = np.NaN
df.iloc[2,0] = np.NaN
print (df)
0 1 2 3
0 -1.749765 NaN 1.153036 -0.252436
1 0.981321 0.514219 NaN -1.070043
2 NaN NaN -0.458027 0.435163
3 -0.583595 0.816847 0.672721 -0.104411
4 -0.531280 1.029733 -0.438136 -1.118318
df1 = df.apply(lambda x: pd.Series(x.dropna().values))
print (df1)
0 1 2 3
0 -1.749765 0.514219 1.153036 -0.252436
1 0.981321 0.816847 -0.458027 -1.070043
2 -0.583595 1.029733 0.672721 0.435163
3 -0.531280 NaN -0.438136 -0.104411
4 NaN NaN NaN -1.118318
然后,如果需要替换为空白空间,则创建混合值(带数字的字符串)的某些函数可能会被破坏:
df1 = df.apply(lambda x: pd.Series(x.dropna().values)).fillna('')
print (df1)
0 1 2 3
0 -1.74977 0.514219 1.15304 -0.252436
1 0.981321 0.816847 -0.458027 -1.070043
2 -0.583595 1.02973 0.672721 0.435163
3 -0.53128 -0.438136 -0.104411
4 -1.118318
本文向大家介绍如何从R数据框中删除空行?,包括了如何从R数据框中删除空行?的使用技巧和注意事项,需要的朋友参考一下 在调查或任何其他数据收集媒介期间,无法从所有单位获取所有信息。有时我们得到部分信息,有时什么也没有。因此,数据中的某些行可能完全为空白,而某些行可能具有部分数据。可以删除空白行,并使用有助于处理缺失信息的方法填充其他空值。 示例 考虑下面的数据框,它缺少一些行和一些值- 在这里,我们
本文向大家介绍如何在R数据帧中将空值转换为NA?,包括了如何在R数据帧中将空值转换为NA?的使用技巧和注意事项,需要的朋友参考一下 当我们的数据包含空值时,很难执行分析,我们可能会将这些空值转换为NA,以便我们了解不可用的值的数量。这可以通过使用单个方括号来完成。 示例 请看以下具有一些空值的数据框- 将空值转换为NA-
我使用XMLOutputter类将文档对象的内容写入xml文件。 但我面临以下问题:当我删除任何子节点时,它会在文档对象中创建空行,并且在将其内容保存到xml文件时,它也会在xml文件中显示空行。 所以这意味着如果我执行10次删除操作并保存其内容,那么xml文件中将有10行空行。 我浏览了以下链接。这些链接建议使用以下api: http://www.jdom.org/pipermail/jdom-
问题内容: 我正在从Excel文件中解析数据,该文件在某些列标题中具有额外的空白。 当我使用来检查结果数据框的列时,我看到: 因此,我无法执行以下操作: 因为它会告诉我找不到列,因为我要求输入“ Month”而不是“ Month”。 那么,我的问题是如何从列标题中去除不需要的空白? 问题答案: 您可以为该方法提供功能。该方法应做您想要的。 注意 :这将返回一个对象,并在屏幕上显示为输出,但是更
可能的重复项: 删除数据中具有NAs(缺少值)的行。框架 如何删除具有NA值的“行”? 我有一个嵌套的数据框,大约有400个文件,大约65k行。我想从嵌套数据框df中删除所有带有NA的行。我尝试了,但似乎不起作用。我不确定我是否遗漏了什么。谢谢 我的最终数据应该是这样的。
我有一个名为“mydata”的数据框,看起来像这样: 我想删除第2、4、6行。例如,像这样: