bal*_*009 3 python dataframe pandas
我生成了一个 DataFrame,其中包含一个名为“pred_categories”的列,其数值为 0、1、2 和 3。见下文:
fileids pred_categories
0 /Saf/DA192069.txt 3
1 /Med/DA000038.txt 2
2 /Med/DA000040.txt 2
3 /Saf/DA191905.txt 3
4 /Med/DA180730.txt 2
Run Code Online (Sandbox Code Playgroud)
我写了一个字典:
di = {3: "SAF", 2: "MED", 1: "FAC", 0: "ENV"}
Run Code Online (Sandbox Code Playgroud)
它首先起作用:
df.replace({'pred_categories': di})
Out[16]:
fileids pred_categories
0 /Saf/DA192069.txt SAF
1 /Med/DA000038.txt MED
2 /Med/DA000040.txt MED
3 /Saf/DA191905.txt SAF
4 /Med/DA180730.txt MED
5 /Saf/DA192307.txt SAF
6 /Env/DA178021.txt ENV
7 /Fac/DA358334.txt FAC
8 /Env/DA178049.txt ENV
9 /Env/DA178020.txt ENV
10 /Env/DA178031.txt ENV
11 /Med/DA000050.txt MED
12 /Med/DA180720.txt MED
13 /Med/DA000010.txt MED
14 /Fac/DA358391.txt FAC
Run Code Online (Sandbox Code Playgroud)
但是当检查
df.head()
Run Code Online (Sandbox Code Playgroud)
它似乎没有将它永久“保存”在 DataFrame 中。关于我做错了什么的任何指示?
print(df)
fileids pred_categories
0 /Saf/DA192069.txt 3
1 /Med/DA000038.txt 2
2 /Med/DA000040.txt 2
3 /Saf/DA191905.txt 3
4 /Med/DA180730.txt 2
5 /Saf/DA192307.txt 3
6 /Env/DA178021.txt 0
7 /Fac/DA358334.txt 1
8 /Env/DA178049.txt 0
9 /Env/DA178020.txt 0
10 /Env/DA178031.txt 0
11 /Med/DA000050.txt 2
12 /Med/DA180720.txt 2
13 /Med/DA000010.txt 2
14 /Fac/DA358391.txt 1
Run Code Online (Sandbox Code Playgroud)
默认情况下.replace()返回更改的 DF,但它不会就地更改,因此您必须这样做:
df = df.replace({'pred_categories': di})
Run Code Online (Sandbox Code Playgroud)
或者
df.replace({'pred_categories': di}, inplace=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1585 次 |
| 最近记录: |