“azdias”是一个数据框架,它是我的主要数据集,元数据或它的特征摘要位于数据框架“feat\u info”中。“feat\u info”显示每列中显示为NaN的值。你知道吗
例如:column1的值[-1,0]为NaN值。所以我的工作是在第1栏中找到-1,0并替换为NaN。你知道吗
专长信息数据帧: 我试过在jupyter笔记本中跟踪。你知道吗
def NAFunc(x, miss_unknown_list):
x_output = x
for i in miss_unknown_list:
try:
miss_unknown_value = float(i)
except ValueError:
miss_unknown_value = i
if x == miss_unknown_value:
x_output = np.nan
break
return x_output
for cols in azdias.columns.tolist():
NAList = feat_info[feat_info.attribute == cols]['missing_or_unknown'].values[0]
azdias[cols] = azdias[cols].apply(lambda x: NAFunc(x, NAList))
问题1:我试图估算NaN值。但我的代码非常复杂 慢点。我希望加快我的执行过程。你知道吗
问题2:我还觉得“azdias”中的其他数据值 转换为浮动。我不希望发生这种事,只要确保 只会替换NaN,而不会更改任何数据类型!!你知道吗
我附上了两个数据帧的示例:
azdiasèu样品
AGER_TYP ALTERSKATEGORIE_GROB ANREDE_KZ CJT_GESAMTTYP FINANZ_MINIMALIST
0 -1 2 1 2.0 3
1 -1 1 2 5.0 1
2 -1 3 2 3.0 1
3 2 4 2 2.0 4
4 -1 3 1 5.0 4
专长信息样本
attribute information_level type missing_or_unknown
AGER_TYP person categorical [-1,0]
ALTERSKATEGORIE_GROB person ordinal [-1,0,9]
ANREDE_KZ person categorical [-1,0]
CJT_GESAMTTYP person categorical [0]
FINANZ_MINIMALIST person ordinal [-1]
尝试使用DataFrame的^{} 方法。这个怎么样?你知道吗
在无法执行代码的情况下,有几件事我不确定:
.values[0]
。你不想要所有的价值观吗?你知道吗to_replace=list(replace_list)
,只使用to_replace=replace_list
可能有用。你知道吗总的来说,我建议你自己想一想“熊猫肯定有功能为我做这件事。”通常,它们是这样做的。对于熊猫的表演,一般来说,避免循环和设置东西。矢量化方法往往要快得多。你知道吗
如果
azdias
数据集是从read_csv
或类似的IO函数获得的,则可以使用na_values
关键字参数指定特定于列的缺失值表示形式,以确保返回的数据帧从一开始就具有适当的NaN值。示例代码如下所示。你知道吗至于数据类型,整数数据类型没有内置的NaN表示。因此需要浮点数据类型。如果使用
fillna
来填充缺少的值,则可以指定downcast
参数,以使返回的序列或数据帧具有适当的数据类型。你知道吗相关问题 更多 >
编程相关推荐