ジョーカーの中には、当社のエンジニアリング問題を追跡するためにロータスデータベース/アプレットを作った人もいます。冗談は、情報の重要な部分が特殊記号...(ハッシュタグ、シャープ記号、¥u0023)という名前の付いた名前であることです。pandas dataframeカラム名:特別なcharaterを削除
略記サンプル:パンダのデータフレームとしてのpython3でCSVファイルとプロセスに
KA# Issue Date Current Position
27144 1/9/2014 Accounting
27194 12/20/2012 Engineering
32474 4/21/2008 Engineering
32623-HOLD 4/25/2016 Engineering
32745 11/13/2012 SEPE
32812 10/30/2013 Engineering
32817 12/7/2012 Purchasing
32839 1/8/2013 SEPE
I出力、この表(4K行、15列)。
さまざまな出力を生成します。私が次のようなものを使用した場合:
df.iloc[:,[0,3,1,8,9,10]]
適切な出力が得られ、キー列は"KA#"
と表示されます。 (私が "キー列"と言うとき、私は "最も重要"を意味する... "索引"ではない)私はシリアル索引を保持する
残念ながら、人はときどきLotusの列の順序をcsv so "KA#"
が特定の列番号になることは保証できません。私は、列名を使用したいと思います:
df.loc[:,["KA#","Issue Date","Current Position"]]
しかし"KA#"
列はNaNにので満たされています。
ご協力いただきありがとうございます。最後に
、私は"KA#"
単に"KA"
に名前を変更しようとした場合:
df['KA#'].name = 'KA'
はKeyError例外をスローし、
df = df.rename(columns={"KA#": "ka"})
は完全に無視されます。列は"KA#"
と表示されます。
誰もがそのシンボルを取り除く方法を考えることができますか?私はこの時点で正規表現のために解決するだろう。
ご協力いただきありがとうございます。
特に、この結果を 'df.columns'に割り当てます。 – chrisaycock
はい、これはドキュメントで確認できます。 – shivsn
私は不適切な文字を持つ列が1つしかないので、これは私の問題を解決しました。したがって、 "答えた"。そしてshivsnに「ありがとう」。 特定の列をターゲットにしたい場合、これはやや不器用な方法です。私はそれに気づくと思います。 –