パンダの条件付き書式
特定の値を含む列内のすべてのセル、または特定のしきい値を超える行内のすべてのセルを強調表示することができます。 条件付き書式は、データのエラーや異常値をすばやく特定することもできます。
この記事では、Pandas の条件付き書式について説明します。
パンダの条件付き書式
Pandas 条件付き書式は、条件に基づいて dataframe
列を書式設定できる強力なツールです。 たとえば、条件付き書式を使用して、列内の特定の値より大きいすべてのセルを強調表示したり、特定のテキスト文字列が含まれているかどうかに基づいてセルを書式設定したりすることができます。
pandas 条件付き書式を使用して dataframe
列を書式設定するには、いくつかの方法があります。 1つの方法は、style
関数を使用することです。 この関数は、条件とフォーマットの辞書を取り、それらのフォーマットを dataframe
に適用します。
パンダの条件付き書式を使用するもう 1つの方法は、apply
関数です。 この関数を使用すると、条件に基づいて列内のすべてのセルに関数を適用できます。
Pandas の条件付き書式を使用する
round()
関数を使用して、数値を含むセルを条件付きでフォーマットできます。
df.round(2)
これにより、データ フレーム内のすべての数値が小数点以下 2 桁に丸められます。 format()
関数を使用して、テキスト値を含むセルを条件付きでフォーマットすることもできます。
df.format("%s")
これにより、データ フレーム内のすべてのテキスト値が文字列としてフォーマットされます。 apply()
関数を利用して、カスタム条件に基づいてセルを条件付きでフォーマットすることもできます。
df.apply(lambda x: x.str.upper() if x.name == "column1" else x)
これにより、すべての値が column1
列の大文字テキストとして書式設定されます。
style
属性を使用した条件付き書式
条件に基づいて pandas セルをフォーマットする方法はいくつかあります。 最も一般的な方法は、style
属性を使用することです。
これは、セルの style
属性を CSS
プロパティの辞書に設定することで実現できます。 ディクショナリのキーは CSS
プロパティの名前にする必要があり、値はそれらのプロパティに設定する値にする必要があります。
import pandas as pd
df = pd.DataFrame([[2, 3, 1], [3, 2, 2], [2, 4, 4]], columns=list("ABC"))
df.style.apply(
lambda x: ["background: red" if v > x.iloc[0] else "" for v in x], axis=1
)
出力:
applymap()
メソッドを使用した条件付き書式
applymap()
メソッドを利用して、データ フレーム内のすべてのセルをフォーマットすることもできます。 このメソッドは関数を引数として取り、その関数をデータ フレーム内のすべてのセルに適用します。
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.rand(4, 3))
df.style.applymap(lambda x: "background-color : yellow" if x > df.iloc[0, 0] else "")
出力:
セルをどのように書式設定する場合でも、データが読みやすく理解しやすい方法で行うようにしてください。
まとめ
結論として、条件付きでその値に基づいて Python pandas セルをフォーマットすることが可能です。 CSS
スタイルのプロパティと値の辞書を取る組み込みの style
関数を使用できます。
設定する最も重要なプロパティは background-color
プロパティで、16 進コードまたは名前付きの色に設定できます。 設定できるその他のプロパティには、color
(テキストの色)、font-weight
(テキストの太さ)、および text-align
(テキストの水平方向の配置) があります。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn