使用python pandas,如何合并数据集并创建具有唯一修饰符的列?
这是我正在使用的当前数据集使用python pandas,如何合并数据集并创建具有唯一修饰符的列?,pandas,seaborn,Pandas,Seaborn,这是我正在使用的当前数据集 df包含Knn、Kss和Ktt三列 我一直无法弄清楚的是,如何将这三个元素合并到一个列中,并拥有一个带有标签的列 这是我目前拥有的,但我 df_CohBeh=pd.concat([pd.DataFrame(Knn)), pd.数据帧(Kss), pd.数据帧(Ktt)], 键=['Knn','Kss','Ktt'], 忽略(索引=真) 看起来是这样的: 显示(df_CohBeh) Knn Kss Ktt 0 24.579131楠楠楠 121.673524楠楠楠 2
df
包含Knn
、Kss
和Ktt
三列
我一直无法弄清楚的是,如何将这三个元素合并到一个列中,并拥有一个带有标签的列
这是我目前拥有的,但我
df_CohBeh=pd.concat([pd.DataFrame(Knn)),
pd.数据帧(Kss),
pd.数据帧(Ktt)],
键=['Knn','Kss','Ktt'],
忽略(索引=真)
看起来是这样的:
显示(df_CohBeh)
Knn Kss Ktt
0 24.579131楠楠楠
121.673524楠楠楠
2 25.785409楠楠
320.686215楠楠楠
4 21.504863楠楠楠
.. ... ... ...
106楠楠27.615440
107楠楠27.636029
108楠楠26.215347
109楠楠27.626850
110楠楠25.473380
这本质上是对它们进行过滤,但我更希望有一个带字符串的单列,可以用于在同一seaborn图形上绘制“Knn”
,“Kss”
,“Ktt”
。查看各种分布
我不知道如何创建一个列来标记标签列中的
Knn
值。如果df
看起来像这样:
>>> df
Knn Kss Ktt
0 96.054660 72.301166 15.355594
1 36.221933 72.646999 41.670382
2 96.503307 78.597493 71.959442
3 53.867432 17.315678 35.006592
4 43.014227 75.122762 83.666844
5 63.301808 72.514763 64.597765
6 0.201688 1.069586 98.816202
7 48.558265 87.660352 9.140665
8 64.353999 43.534200 15.202242
9 41.260903 24.128533 25.963022
10 63.571747 17.474933 47.093538
11 91.006290 90.834753 37.672980
12 61.960163 87.308155 64.698762
13 87.403750 86.402637 78.946980
14 22.238364 88.394919 81.935868
15 56.356764 80.575804 72.925204
16 30.431063 4.466978 32.257898
17 21.403800 46.752591 59.831690
18 57.330671 14.172341 64.764542
19 54.163311 66.037043 0.822948
尝试使用df.melt
将这三个元素合并到一个列中,并使该列具有标签
您应该使用熊猫
系列
knn=pd.DataFram({…})
kss=pd.DataFram({…})
ktt=pd.DataFram({…})
l=knn.values.flatte()+kss.values.flatte()+ktt.values.flatte()
s=pd.系列(l,name=“Knn”)
variable value
0 Knn 96.054660
1 Knn 36.221933
2 Knn 96.503307
3 Knn 53.867432
4 Knn 43.014227
5 Knn 63.301808
...
20 Kss 72.301166
21 Kss 72.646999
22 Kss 78.597493
23 Kss 17.315678
24 Kss 75.122762
25 Kss 72.514763
...
40 Ktt 15.355594
41 Ktt 41.670382
42 Ktt 71.959442
43 Ktt 35.006592
44 Ktt 83.666844
45 Ktt 64.597765
...