Pandasデータフレームの1つ以上の列のデータ型を変更します
多くの場合、特定の計算ニーズに対応するために、パンダデータフレームの1つ以上の列のデータ型を変換する必要があります。これを実現できるパンダで利用可能な組み込み関数またはメソッドがいくつかあります。
astype()の使用
astype()メソッドは、既存の列またはpandasデータフレームのすべての列に新しいデータ型を課すことができます。次の例では、既存のすべての列を文字列データ型に変換します。
例
import pandas as pd #Sample dataframe df = pd.DataFrame({ 'DayNo': [1, 2, 3, 4, 5,6,7], 'Name': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu','Fri','Sat'], 'Qty': [2.6, 5, 11.8, 2, 5.6,0,0.25]}) # Exisitng Data types print(df.dtypes) #Convert to string data type df_str = df.astype(str) # Verify the conversion print("***After Conversion***") print(df_str.dtypes)を確認します
出力
上記のコードを実行すると、次の結果が得られます-
DayNo int64 Name object Qty float64 dtype: object ***After Conversion*** DayNo object Name object Qty object dtype: object
to_numeric()の使用
to_numeric()を使用して、データフレームで現在文字列としてマークされている数値を数値に変換できます。
例
import pandas as pd # Example dataframe df = pd.DataFrame({ 'DayNo': [1, 2, 3, 4, 5,6,7], 'Name': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu','Fri','Sat'], 'Qty': [2.6, 5, 11.8, 2, 5.6,0,0.25]}) df_str = df.astype(str) print(df_str.dtypes) #Applying conversion print("After Conversion:") df_num = pd.to_numeric(df_str.DayNo) print('DayNo:',df_num.dtypes)
上記のコードを実行すると、次の結果が得られます-
出力
DayNo object Name object Qty object dtype: object After Conversion: DayNo: int64
infer_objects()の使用
これは、オブジェクトデータ型を持つDataFrameの列をより具体的な型に変換するソフト変換の方法です。
例
import pandas as pd # Example dataframe df = pd.DataFrame({ 'DayNo': [1, 2, 3, 4, 5,6,7], # 'Name': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu','Fri','Sat'], 'Qty': ['2.6', '5', '11.8', '2', '5.6','0','0.25']}, dtype='object') print(df.dtypes) #Applying conversion print("After Conversion:") df_new = df.infer_objects() print(df_new.dtypes)
上記のコードを実行すると、次の結果が得られます-
出力
DayNo object Qty object dtype: object After Conversion: DayNo int64 Qty object dtype: object
-
Python-PandasDataFrameの散布図を描画します
散布図は、データの視覚化手法です。 plot.scatter()を使用して、散布図をプロットします。まず、必要なライブラリをインポートしましょう- チームレコードにデータがあります。 PandasDataFrameに設定します- data = [["Australia", 2500],["Bangladesh", 1000],["England", 2000],["India", 3000],["Srilanka", 1500]] dataFrame = pd.DataFrame(data,
-
Python Pandas-DataFrameに複数のデータ列をプロットしますか?
複数の列をプロットするには、棒グラフをプロットします。 plot()を使用します メソッドと種類を設定します バーへのパラメータ 棒グラフ用。まず、必要なライブラリをインポートしましょう- import pandas as pd import matplotlib.pyplot as mp 以下は、チームレコードのデータです- data = [["Australia", 2500, 2021],["Bangladesh", 1000, 2021],["England", 2000, 2021],["India"