空のデータフレームを所定の形状で作成し、カテゴリの列を含む別のデータフレームから値を入力したい場合は、共有できます新しいデータフレーム内の列の元の値のサブセットのみを持つ場合、同じカテゴリのdtypepandasのカテゴリの列カテゴリを取得し、別の列にdtypeとして割り当てます
答えて
Series.cat.remove_unused_categories()メソッドを使用できると思います。ここで
は小さなデモです:
In [311]: df
Out[311]:
channel day month t1 title year
631 AAA 06 01 1388967300000 title 1 2014
632 CBR 06 01 1388973300000 title 2 2014
633 CBR 06 01 1388974500000 title 3 2014
In [312]: df.channel
Out[312]:
631 AAA
632 CBR
633 CBR
Name: channel, dtype: category
Categories (2, object): [AAA, CBR]
In [313]: cp = df[df.channel == 'CBR'].copy()
In [314]: cp.channel
Out[314]:
632 CBR
633 CBR
Name: channel, dtype: category
Categories (2, object): [AAA, CBR]
In [315]: cp.channel.cat.categories
Out[315]: Index(['AAA', 'CBR'], dtype='object')
In [316]: cp.channel.cat.remove_unused_categories(inplace=True)
In [317]: cp.channel.cat.categories
Out[317]: Index(['CBR'], dtype='object')
In [318]: cp.channel
Out[318]:
632 CBR
633 CBR
Name: channel, dtype: category
Categories (1, object): [CBR]
UPDATE:
In [328]: new = pd.DataFrame({'x':[1,2]})
In [329]: new['ch'] = df.loc[df.channel == 'CBR', 'channel'].values
In [330]: new
Out[330]:
x ch
0 1 CBR
1 2 CBR
In [331]: new.dtypes
Out[331]:
x int64
ch category
dtype: object
In [332]: new.ch.cat.categories
Out[332]: Index(['AAA', 'CBR'], dtype='object')
ありがとうございます。 cp.channel.catを新たに作成した別のデータフレームのdtypeとして使用することはできますか?その列の1つが、デフォルトでオブジェクトの代わりに同じカテゴリでカテゴリになります。 –
"私はあなたがSeries.cat.remove_unused_categories()メソッドを使うことができると思います。"いいえ、私の場合、私はちょうど逆のことをしたいと思います。 –
@AlexanderReshytko、この場合、あなたは 'Series.cat.remove_unused_categories()'を呼び出す必要はありません - 私の答えのUPDATEセクションをチェックしてください – MaxU
- 1. Wordpressはカテゴリの配列としてカテゴリの親を取得します
- 2. mysqlテーブルの列に複数のカテゴリとして保存したときに単一のカテゴリを取得する
- 3. パンダ:カテゴリdtypeとフィルタ
- 4. Outlook VBAでカテゴリを選択したメールでカテゴリに割り当てる
- 5. カテゴリを値の範囲(パーセンテージ)に割り当ててソートしますか?
- 6. トピックモデリング - カテゴリ2のトピックを含むドキュメントをカテゴリラベルとして割り当てる - sklearn潜在ディリクレ割り当て
- 7. カテゴリに画像を割り当てて、WordPressの投稿
- 8. PHP/MySQLカテゴリが最もレスポンスの少ないカテゴリに割り当てる
- 9. dtype dictを使ってpandasカテゴリの種類を変更するには?
- 10. カテゴリ名を使用してカテゴリURLを取得するには
- 11. テンプレートを使ってWikipediaのカテゴリを割り当てる
- 12. WooCommerce - ユーザー/ユーザー役割(WordPress)にカテゴリを割り当てる方法
- 13. msカテゴリをユーザに割り当てるためのアクセスフォーム
- 14. solrのカテゴリに関連性を割り当てる方法は?
- 15. R列内のすべてのカテゴリを取得
- 16. Pandasで列を割り当てるときのSettingWithCopyWarningを扱う
- 17. カテゴリの列のカテゴリ値の行を作成します。
- 18. データベースから値を取得し、文字列配列に割り当てます
- 19. pandas:デリミタの列を分割して一意の値を取得
- 20. act-as-taggable-on宝石のcssカテゴリの割り当てのアルゴリズム
- 21. pandasデータフレームの文字列データの列を取得し、別々の列に分割します
- 22. R割り当て値別の列
- 23. pandasグループ日付で、値を列に割り当てます。
- 24. 割り当て方法別の値の配列に値の配列をキーとして格納しますか?
- 25. アクティブコラボのカテゴリ別にフィルタリングされたプロジェクトを取得します
- 26. WordPressのポストを割り当てる方法*メインは*カテゴリ
- 27. Seabornの行と列として他の2つのカテゴリ変数を使用してカテゴリ変数をプロットする
- 28. 文字列照合とPandasのブール値再割り当て
- 29. Pandas DataFrame - 他の列に基づいて1,0の値を割り当てます
- 30. python-pandasのgroupbyを配列に割り当てる方法は?
データフレームが不均一です。あなたが記述したことはSeriesにとって可能であり、もちろんそれらのSeriesを別のDataFramesで使用することもできますが、あなたが望むものを例に説明する必要があると思います。 – ayhan
基本的には、 'ser1 = pd.Series(pd.Categorical(list) '、abcabc'、categories = list( 'cba')、ordered = True) (pd.Categorical(list( 'bb')、categories = ser1.cat.categories)) '' ser2'は 'b'のみを含んでいますが、' c、b、a'のカテゴリがあります。 – ayhan