複数の列を持つデータフレームを特定の列で並べ替える必要がありますが、まずタイプをobject
からint
に変更する必要があります。どのように元の列の位置を維持しながらこの特定の列のデータ型を変更するには?パンダデータフレームの特定の列のデータ型を変更する
2
A
答えて
2
:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'colname':['7','3','9'],
'D':[1,3,5],
'E':[5,3,6],
'F':[7,4,3]})
print (df)
A B D E F colname
0 1 4 1 5 7 7
1 2 5 3 3 4 3
2 3 6 5 6 3 9
print (df.colname.astype(int).sort_values())
1 3
0 7
2 9
Name: colname, dtype: int32
print (df.reindex(df.colname.astype(int).sort_values().index))
A B D E F colname
1 2 5 3 3 4 3
0 1 4 1 5 7 7
2 3 6 5 6 3 9
print (df.reindex(df.colname.astype(int).sort_values().index).reset_index(drop=True))
A B D E F colname
0 2 5 3 3 4 3
1 1 4 1 5 7 7
2 3 6 5 6 3 9
None
か悪いデータはto_numeric
を使用しているため、最初のソリューションが動作しない場合:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'colname':['7','3','None'],
'D':[1,3,5],
'E':[5,3,6],
'F':[7,4,3]})
print (df)
A B D E F colname
0 1 4 1 5 7 7
1 2 5 3 3 4 3
2 3 6 5 6 3 None
print (pd.to_numeric(df.colname, errors='coerce').sort_values())
1 3.0
0 7.0
2 NaN
Name: colname, dtype: float64
2
df['colname'] = df['colname'].astype(int)
float
の値をint
atleastに変更すると機能します。
astype
によって
int
にキャスト、
sort_values
によってソート列で
reindex
を使用することができます
関連する問題
- 1. パンダデータフレームの特定の列をフィルタリングする
- 2. の変更、列のデータ型
- 3. 列のデータ型を変更する
- 4. 既定値で列のデータ型を変更する方法
- 5. パンダデータフレームの更新列
- 6. 列データ型を変更するSqlスクリプト
- 7. Hiveで列データ型を変更する
- 8. alter tableのSQL Serverのパフォーマンス列の変更の変更データ型
- 9. データの型を特定する
- 10. すべてのテーブルの列データ型を変更する
- 11. 列の値のデータ型を変更する(日付)
- 12. インデックスの配列[StructField]のデータ型を変更するspark-shell/scala
- 13. DataTableの列のデータ型をDateTimeからStringに変更する
- 14. 変更データ型はAccessでのデータ型を変更することで
- 15. レルムフィールドのデータ型を変更する - Java
- 16. プロパティのデータ型を変更する
- 17. 本番データベースの列データ型を変更する
- 18. sybaseクエリーで列のデータ型を変更する方法は?
- 19. ハイチャートのデータ系列型を動的に変更する
- 20. 多くのデータを持つSQL変更列データ型
- 21. SQL Server 2008のテーブル列のデータ型を変更します
- 22. データ型列のデータ型を特定の書式の日付時刻として設定したい
- 23. XMLファイルの特定の文字列の値を変更する
- 24. 特定の行の列値のみを変更するR
- 25. レルムAndroidのマイグレーションで主キーのデータ型を変更するデータ型を変更する
- 26. Regexを使ってCSVの特定の列を変更する
- 27. パンダデータフレームのデータ検索
- 28. mysqlの列挙型を変更する
- 29. 列挙型の値を変更する
- 30. DataGridView、型指定された列のセルを別の型に変更する
はposiible使用であり、 'df ['colname'] = df ['colname']。astype(int)'? – jezrael
これを検索しようとしましたか?http://stackoverflow.com/search?tab=votes&q=pandas%20convert%20to%20int関連する質問がたくさんあります。また、データの現在の構成に大きく依存します。たとえば、欠損値がある場合はintに変換できません。 'NaN'は' int'で表現できません。 – EdChum
または 'int'のみに変換する必要がありますソートしてから 'string'(' object')に変換しますか? – jezrael