複数の列を持つデータフレームを特定の列で並べ替える必要がありますが、まずタイプを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. CQL:ユーザー定義型内の特定のデータを変更する
- 3. の変更、列のデータ型
- 4. 列のデータ型を変更する
- 5. 既定値で列のデータ型を変更する方法
- 6. パンダデータフレームの更新列
- 7. 列データ型を変更するSqlスクリプト
- 8. Hiveで列データ型を変更する
- 9. Laravel特定のhtmlの列を追加するデータ型
- 10. データの型を特定する
- 11. alter tableのSQL Serverのパフォーマンス列の変更の変更データ型
- 12. すべてのテーブルの列データ型を変更する
- 13. インデックスの配列[StructField]のデータ型を変更するspark-shell/scala
- 14. DataTableの列のデータ型をDateTimeからStringに変更する
- 15. 列の値のデータ型を変更する(日付)
- 16. 変更データ型はAccessでのデータ型を変更することで
- 17. プロパティのデータ型を変更する
- 18. レルムフィールドのデータ型を変更する - Java
- 19. 変更bigint型から列のデータ型を
- 20. 既存のデータフレームの特定の列から新しいパンダデータフレームを作成する
- 21. sybaseクエリーで列のデータ型を変更する方法は?
- 22. Pyspark:ネストした列のデータ型を変更する
- 23. 本番データベースの列データ型を変更する
- 24. 列のデータ型をテキストから数値に変更する
- 25. pysparkデータフレーム列のデータ型を変更するには?
- 26. ハイチャートのデータ系列型を動的に変更する
- 27. 多くのデータを持つSQL変更列データ型
- 28. 変更データ型
- 29. SQL Server 2008のテーブル列のデータ型を変更します
- 30. データ型列のデータ型を特定の書式の日付時刻として設定したい
は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