私はpythonとpandasを初めて使用しています。私はパンダのデータフレームの画像を添付しました 私は最後の列からデータをフェッチする方法と最後の列の名前を変更する方法を知る必要があります。データフレーム内のタプル列名の名前を変更
答えて
:
df = df.rename(columns = {df.columns[-1] : 'newname'})
または:
df.columns = df.columns[:-1].tolist() + ['new_name']
それは解決策と思われる:
df.columns.values[-1] = 'newname'
はバグがあります。名前を変更した後、pandas関数が奇妙なエラーを返すためです。
s = df.iloc[:,-1]
して名前を変更した後:
s1 = df['newname']
print (s1)
サンプル:
df = pd.DataFrame({'R':[7,8,9],
'T':[1,3,5],
'E':[5,3,6],
('Z', 'a'):[7,4,3]})
print (df)
E T R (Z, a)
0 5 1 7 7
1 3 3 8 4
2 6 5 9 3
s = df.iloc[:,-1]
print (s)
0 7
1 4
2 3
Name: (Z, a), dtype: int64
df.columns = df.columns[:-1].tolist() + ['new_name']
print (df)
E T R new_name
0 5 1 7 7
1 3 3 8 4
2 6 5 9 3
012を最後の列からデータを取得するために
は、可能な使用がiloc
によって位置によって選択されます
df = df.rename(columns = {('Z', 'a') : 'newname'})
print (df)
E T R newname
0 5 1 7 7
1 3 3 8 4
2 6 5 9 3
s = df['newname']
print (s)
0 7
1 4
2 3
Name: newname, dtype: int64
df.columns.values[-1] = 'newname'
s = df['newname']
print (s)
>KeyError: 'newname'
たくさんのオプション...良い答え+1 :-) – piRSquared
良い、ちょうどあなたがそれを見ることを確認して:-)。私は常にあなたの良心に投票してほしい。あなたがやる。私はあなたが私がそれを完全に尊重していることを願っています。この場合、私はそれが私の考え方を表すので、解決策が好きです。私はそれをそのまま残します。そしてうまくいけば、すぐにもっと多くの疑問が見えます。 – piRSquared
データフレームからデータを取得するために、列名
columns=df.columns.values
columns[-1]="Column name"
をchangeingため
あなたはuのできse loc、iloc、およびixメソッド。
LOCは ILOCはIXは両方使用して索引を使用してデータをフェッチし、
が http://pandas.pydata.org/pandas-docs/stable/dsintro.html#indexing-selection
はインデックス詳細については、こちらをご覧くださいLOCとILOCについて学ぶラベルを付けることができインデックス を使用して値をフェッチするためにあるラベルを使用して値を取得するためのものであり、データ選択
うん、私はあなたのソリューションをテストし、それは奇妙なkeyerrorを返す - 私の答えの底を参照してください。どのようにあなたのために働くのですか? 'df = pd。DataFrame({'R':[7,8,9]、 'T':[1,3,5]、 'E':[5,3,6]、 ( 'Z'、 'a' ):[7,4,3]}) print(df) 'と' df.columns.values [-1] = 'newname'' 's = df [' newname ']' 'print(s) ) '? – jezrael
表示目的でのみ列名を変更したいと考えました。誤解して申し訳ありません。 @jezraelは適切な解決策を与えました。 –
最後の列からデータを取得する
最後の列がdf.iloc[:,-1]
であることを示唆しているように、最後の列が実際に最後の列である場合にのみ正常に動作します。
-1
のような絶対的な列の位置を使用することは安定した解決策ではありません。つまり、他の列を追加すると、コードが破損します。
# rename columns
df.columns = [str(s) for s in df.columns]
# access column by name
df['(vehicle_id, reservation_count)`]
は、最後の列
の名前を変更することが好ましい。
安定した、一般的なアプローチすべての
まず、すべてのカラム名が文字列であることを確認してくださいすべての列に括弧を入れずに同様の列名を持つようにする - コードを読みやすくしてdataseを作成する使いトンより簡単に:あなたは最後の列を削除し、別の名前で再割り当てすることができ
# rename columns
def rename(col):
if isinstance(col, tuple):
col = '_'.join(str(c) for c in col)
return col
df.columns = map(rename, df.columns)
タプルが文字列と浮動小数点数の混在の場合は、次のようにしてください: "col = '{} _ {}'。フォーマット(col [0]、col [1])" – Superpronker
@Superpronkerは、長さ – miraculixx
:
# access column by name
df['vehicle_id_reservation_count`]
これはタプルによって命名されているすべての列にまっすぐ進むの変換です。
これは技術的に列の名前を変更するものではありません。しかし、私はそれが直感的だと思います。 jezraelのセットアップ
df = pd.DataFrame({'R':[7,8,9],
'T':[1,3,5],
'E':[5,3,6],
('Z', 'a'):[7,4,3]})
print(df)
R T E (Z, a)
0 7 1 5 7
1 8 3 3 4
2 9 5 6 3
どのように私は最後の列を取得することができます@使用
?
あなたはあなたがデータフレームの中にその名前を変更するためには
df.iloc[:, -1].rename('newcolumn')
0 5
1 3
2 6
Name: newcolumn, dtype: int64
それを抽出した後、あなたは多くを行うことができます列の名前を変更することができますiloc
df.iloc[:, -1]
0 5
1 3
2 6
Name: c, dtype: int64
を使用することができます方法の。私は列をフェッチする、すなわち、始めましたテーマを続行するには、それをリネーム:
オプション1
開始をiloc[:, :-1]
使用join
と最後の列をドロップすることによって名前を変更列を追加します
df.iloc[:, :-1].join(df.iloc[:, -1].rename('newcolumn'))
R T E newname
0 7 1 5 7
1 8 3 3 4
2 9 5 6 3
オプション2
上で参照それとも私たちはあなたの代わりにデータの画像の実際のデータを提供した場合、私はこの質問票をいただきたい戻ってそれを置くためにassign
を使用してrename
df.iloc[:, :-1].assign(newname=df.iloc[:, -1])
R T E newname
0 7 1 5 7
1 8 3 3 4
2 9 5 6 3
- 1. データフレーム内の変数名のシーケンスの名前を変更
- 2. Sparkデータフレーム列の名前を変更
- 3. データフレーム内の列の名前
- 4. データフレームのタイトル/名前を使用して列名の名前を変更する
- 5. Rデータフレーム列名の変更
- 6. 名前の変更マルチインデックス列名のPython
- 7. pythonデータフレームの条件の列の名前を変更
- 8. Python - 行列をデータフレームに変更し、列の名前を変更します。
- 9. リスト内のデータフレームの列名を変更する際のエラー - R
- 10. データフレームの列の名前を変更することにより、データフレームをUnlisting
- 11. Jinja2テンプレートマクロ内の名前付きタプル
- 12. タイムスタンプを月の名前と年をデータフレームの列の名前に変換する
- 13. Applescript - Duplicate Folder内でファイルの名前を変更して名前を変更
- 14. ディレクトリ内のファイルの名前を変更
- 15. コントローラ名の変更/名前変更URL:Yii2
- 16. pandasデータフレーム列を別のデータフレームに名前変更する方法は?
- 17. R - 別のデータフレームの値からデータフレームの列名を変更
- 18. 変更データフレームの行名
- 19. 名前のないタプルの文字列表現をタプルに変換する
- 20. SQLの列の名前を変更
- 21. PhpmyadminのInnoDB列の名前を変更
- 22. SQLの列の名前を変更
- 23. 名前タプルとクラスパラメータ
- 24. 名前を変更してアイテムの名前を変更する
- 25. 名前付きタプルのカスタムイテレータ
- 26. ハイフンで列の名前を変更
- 27. 配列キーの名前を変更
- 28. SQLiteの名前を変更fts3 rowid列
- 29. 名前の変更/
- 30. Pandasのルールベースの列の名前変更
を保存することができます。 – piRSquared