gpt4 book ai didi

python - 从非 nan 值的列中获取数据

转载 作者:行者123 更新时间:2023-12-01 06:35:10 25 4
gpt4 key购买 nike

我有一个包含数据列表的 Excel 文件,例如:

column 1 column 2 column 3
1 2 2
3 5
6

我想要一个包含每列数组的列表。

    sampling = pd.read_excel(file_path, sheetname=0, index_row=1)
print(sampling)
array = []
for i in range(0,3):
array2 = sampling['column '+ str(i+1)].tolist()
array.append(array2)

print(array)

column 1 column 2 column 3
0 1.0 2.0 2
1 NaN 3.0 5
2 NaN NaN 6
[[1.0, nan, nan], [2.0, 3.0, nan], [2, 5, 6]]

如何仅获取非 Nan 值?我想要这样的结果

[[1.0], [2.0, 3.0], [2, 5, 6]] 

最佳答案

创建包含缺失值的列表,然后将其删除:

L = [x.dropna().tolist() for _, x in df.items()]
print (L)
[[1.0], [2.0, 3.0], [2, 5, 6]]

或者:

L = [[y for y in x if pd.notna(y)] for _, x in df.items()]
print (L)
[[1.0], [2.0, 3.0], [2, 5, 6]]

如果想使用您的解决方案,只需添加 Series.dropna用于删除缺失值:

array = []
for i in range(0,3):
array2 = sampling['column '+ str(i+1)].dropna().tolist()
array.append(array2)

print(array)
[[1.0], [2.0, 3.0], [2, 5, 6]]

关于python - 从非 nan 值的列中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59702498/

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