我想根据现有列null_columns
至NaN
中A
值的位置来创建新列F
。
A B C D E F null columns
0 1 NaN 3 5 4 ['C']
0 NaN NaN NaN 6 4 ['B','C','D']
2 3 5 4 NaN 5 ['E']
答案 0 :(得分:0)
您应该编辑您的问题,以便所有人都可以清楚地看到,例如您使用了什么格式,尝试获得什么输出,等等。
实际上,这是一个有趣的问题。我假设您以熊猫的数据框格式获取了上述数据。添加更多与您的问题相关的标签也很重要。
无论如何,我找不到比下面的代码更有效的方法。希望它对您有帮助:
nul_index = []
for i in df:
nul_index.append(df[df[i].isnull()].index.tolist())
这将为您提供列值空值的行索引列表。对于上述情况:[[],[1],[0,1],[1],[2],[]]
从该列表中,我们希望像[['C'],['B','C','D'],['E']]
这样将其分配到我们的新列中。
new_col = []
for i in range(len(df)):
new_col.append([df.columns[x] for x in range(len(nul_index)) if i in nul_index[x]])
df['null_column'] = new_col