Python
 Computer >> コンピューター >  >> プログラミング >> Python

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

  1. Python-PandasDataFrameの散布図を描画します

    散布図は、データの視覚化手法です。 plot.scatter()を使用して、散布図をプロットします。まず、必要なライブラリをインポートしましょう- チームレコードにデータがあります。 PandasDataFrameに設定します- data = [["Australia", 2500],["Bangladesh", 1000],["England", 2000],["India", 3000],["Srilanka", 1500]] dataFrame = pd.DataFrame(data,

  2. Python Pandas-DataFrameに複数のデータ列をプロットしますか?

    複数の列をプロットするには、棒グラフをプロットします。 plot()を使用します メソッドと種類を設定します バーへのパラメータ 棒グラフ用。まず、必要なライブラリをインポートしましょう- import pandas as pd import matplotlib.pyplot as mp 以下は、チームレコードのデータです- data = [["Australia", 2500, 2021],["Bangladesh", 1000, 2021],["England", 2000, 2021],["India"