私は以下のpandas DataFrameを持っています。明らかに列の値を変更してパンダで並べ替える方法は?
import pandas as pd
df = pd.read_csv('filename.csv')
print(df)
cat A B C
0 cat1 0.787575 0.159330 0.053095
1 cat10 0.770698 0.169487 0.059815
2 cat11 0.792689 0.152043 0.055268
3 cat12 0.785066 0.160361 0.054573
4 cat13 0.795455 0.150464 0.054081
5 cat14 0.794873 0.150700 0.054426
.. ....
8 cat19 0.811585 0.140207 0.048208
9 cat2 0.797202 0.152033 0.050765
10 cat20 0.801607 0.145137 0.053256
11 cat21 0.792689 0.152043 0.055268
....
cat2
はないcat19
後、cat1
後に行く必要があるため、cat1
は、不適切な順序です。
これを修正するためにどのような方法を使用できますか?
私の考えは、各一桁cat
のラベルを付け直して、.sort()
でソートすることです。しかし、これを行う私の方法は動作しません。
df = df.rename(index={'cat1': 'cat01'})
df = df.rename(index={'cat2': 'cat02'})
df = df.rename(index={'cat3': 'cat03'})
...
df = df.rename(index={'cat9': 'cat09'})
1つは、上記の方法、および並べ替えを使用し、その後、cat
列にインデックスを変更する必要があります表示されます。
しかし、私はまだ入力しすぎています。これを達成する最良の方法は何ですか?
'catZ'という名前の猫が1つあります。残念ながら、上記の方法では、これはNaNに変換されます。 – ShanZhengYang
新しい編集では、 'catZ'を' cat0'に消去します。 – ShanZhengYang
@ShanZhengYang上記のサンプルでは動作しますが、catZの 'cat0'という結果はどうなると思いますか? – Alexander