我有一些代码可以生成依赖项的pandas数据框:
Input | Output | Script
我试图从这个矩阵中生成一个不同值列表,作为一个只有一列的新表。
nodes
我试过
Nodes_List = pd.DataFrame({nodes: [dependency['Input'].values,
dependency['Output'].values,
dependency['Script'].values]})
但是我没有将所有三列合并,而是获得一个三行数据帧,其值为逗号分隔值?如何将三列相互叠加,然后优雅地获得不同的值?
由于
答案 0 :(得分:1)
说你的数据框就像
In [295]: df
Out[295]:
Input Output Script
0 aaa bbb ggg
1 ddd hhh ccc
2 eee bbb fff
3 aaa bbb kkk
您可以使用ravel()
展平它,然后取unique
个值
In [296]: np.unique(df.values.ravel())
Out[296]: array(['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg', 'hhh', 'kkk'], dtype=object)
直接在np.unique()
上使用df
也会提供相同的输出
In [301]: np.unique(df)
Out[301]: array(['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg', 'hhh', 'kkk'], dtype=object)
并且,可以使用
创建Nodes_List
In [297]: pd.DataFrame({'nodes': np.unique(df)})
Out[297]:
nodes
0 aaa
1 bbb
2 ccc
3 ddd
4 eee
5 fff
6 ggg
7 hhh
8 kkk