Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将pandas数据帧转换为1D列表时出现的额外空格问题_Python_Python 3.x_Pandas - Fatal编程技术网

在Python中将pandas数据帧转换为1D列表时出现的额外空格问题

在Python中将pandas数据帧转换为1D列表时出现的额外空格问题,python,python-3.x,pandas,Python,Python 3.x,Pandas,我正在将一个大熊猫数据帧表转换为1D python列表,并根据需要删除该列表中的重复元素。但是,在转换为列表后,某些元素的某些重复在开始之前有额外的空间,因此我的“删除重复项”行效率不高,它将这些元素视为两个不同的元素。另外,如何从不是数字(nan)的列表中删除元素? 样本输入: E1 E2 E3 0 A B NaN 1 A C NaN 2 A B C ... 300

我正在将一个大熊猫数据帧表转换为1D python列表,并根据需要删除该列表中的重复元素。但是,在转换为列表后,某些元素的某些重复在开始之前有额外的空间,因此我的“删除重复项”行效率不高,它将这些元素视为两个不同的元素。另外,如何从不是数字(nan)的列表中删除元素? 样本输入:

        E1     E2     E3
0       A      B      NaN
1       A      C      NaN
2       A      B      C
...
300     X      B      C
这是我用来执行它的代码:(“green”是包含上表的数据帧

MCS2=green.values.tolist()
MCS2=list(set(sum(MCS2,[])))
print(MCS2)
预期产出:

['A','B','C',....,'X']
但由于某些原因,某些“A”前面有一个额外的空格,它们显示为“A”和“A”,因此即使它们是相同的,也被视为两个不同的元素。这是我的输出:

['A',' A','B','C',' C'....,'X']
然后可以使用
空格、
和最后一次转换:


它仍然有同样的问题@jezrael。一些元素在新列表中出现不止一次,只是因为前面有额外的空间。
print pd.DataFrame({'E1': {0: 'A ', 1: ' A', 2: 'A', 300: 'X'}, 
                    'E3': {0: np.nan, 1: np.nan, 2: 'C', 300: 'C'}, 
                    'E2': {0: 'B', 1: 'C', 2: 'B', 300: 'B'}})

print df
     E1 E2   E3
0    A   B  NaN
1     A  C  NaN
2     A  B    C
300   X  B    C

print df.stack().str.strip().drop_duplicates().tolist()
['A', 'B', 'C', 'X']