我有一个(示例)数据框,如下所示:
AddOdyDocToWorkflowRequest AddOdyDocToWorkflowRequest = new AddOdyDocToWorkflowRequest()
{
CaseDocument = new List<CaseDocument>()
{
new CaseDocument()
{
CaseAugmentation = new List<CaseAugmentation>(){
new CaseAugmentation(){
DocumentEvent = new List<DocumentEvent>()
{
new DocumentEvent()
{
CourtDocumentEvent = new List<DocumentEventCourtDocumentEvent>()
{
new DocumentEventCourtDocumentEvent()
{
DocumentData = CaseNumberTextBox.Text+ "," + DocumentCode
}
}
}
}
}
}
}
}
};
我想用标签名称替换labelID count
1 185302
2 137777
3 247434
4 136571
5 39724
6 46959
7 88471
8 109182
9 65326
列,以便我有这样的内容:
labelID
我查看了Renaming / mapping labels,但这似乎是列标题和索引。我想重命名实际值。我该怎么做?
答案 0 :(得分:1)
使用str
将列的类型转换为astype
(假设dtype为数字),然后添加前缀:
In [35]:
df['labelID'] = 'label ' + df['labelID'].astype(str)
df
Out[35]:
labelID count
0 label 1 185302
1 label 2 137777
2 label 3 247434
3 label 4 136571
4 label 5 39724
5 label 6 46959
6 label 7 88471
7 label 8 109182
8 label 9 65326
答案 1 :(得分:1)
您可以使用map
替换系列中的值(或者,如果您希望替换整个数据框,则可以使用applymap
)。
import pandas as pd
label_map = {
1: 'label 1',
2: 'label 2',
3: 'label 3',
4: 'label 4',
5: 'label 5',
6: 'label 6',
7: 'label 7',
8: 'label 8',
9: 'label 9',
}
df = pd.read_clipboard()
df['labelID'] = df['labelID'].map(label_map)
print df.to_string(index=False)
您需要一个将值映射到标签的字典。然后将此词典传递给map
函数,该函数应用于要重新标记的系列
df['labelID'] = df['labelID'].map(label_map)
这会更改数据框以使用新标签(我在没有索引的情况下打印它以匹配您问题中的格式)
labelID count
label 1 185302
label 2 137777
label 3 247434
label 4 136571
label 5 39724
label 6 46959
label 7 88471
label 8 109182
label 9 65326