IPython笔记本1.数据帧(不需要时自动对列排序)

2024-10-03 09:14:28 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图在列表中添加列时遇到了一些问题1.数据帧. 你知道吗

我试图添加一个列,其中包含索引中的一些“traslation”(该traslation是从csv导入的)。但是,当我尝试添加它时,该列以与csv中相同的顺序显示数据,而不是索引。你知道吗

奇怪的是,如果我自己打印要放入列中的数据,数据就会正确显示。你知道吗

count = pd.value_counts(y_train, sort=True, ascending=True)
table_index = np.arange(n_classes)

result = pd.DataFrame()
result['SignIndex'] = count.index
result['Counts'] = count.values
column = list_signals['SignName'][count.index]
result['Signal'] = column

result.head()

这是它打印的内容:

    SignIndex   Counts  Signal
0   0           180     Speed limit (20km/h)
1   19          180     Speed limit (30km/h)
2   37          180     Speed limit (50km/h)
3   27          210     Speed limit (60km/h)
4   41          210     Speed limit (70km/h)

但如果您单独打印变量列,则它将打印以下内容:

column


SignIndex
0                                  Speed limit (20km/h)
19                          Dangerous curve to the left
37                                  Go straight or left
27                                          Pedestrians
41                                    End of no passing
42    End of no passing by vehicles over 3.5 metric ...

有人知道为什么会这样吗?你知道吗

谢谢是提前!你知道吗


Tags: csv数据trueindexsignalcountcolumnresult
1条回答
网友
1楼 · 发布于 2024-10-03 09:14:28

正如@BrenBarn所说,如果将一个系列指定为DataFrame中的一列,那么该系列的索引将与DataFrame的索引匹配。你知道吗

所以为了解决我的问题,我最后做了:

count = pd.value_counts(y_train).sort_index()

result = pd.DataFrame()
result['SignIndex'] = count.index
result['Counts'] = count.values
result['Signal'] = list_signals['SignName'][count.index]

result = result.sort_values(by=['Counts'], ascending=True)
result = result.reset_index(drop=True)

result.head()

这是打印出来的结果:

    SignIndex   Counts  Signal
0   0           180     Speed limit (20km/h)
1   37          180     Go straight or left
2   19          180     Dangerous curve to the left
3   32          210     End of all speed and passing limits
4   27          210     Pedestrians
5   41          210     End of no passing

谢谢大家的帮助!你知道吗

相关问题 更多 >