Pandas df['column'] = expression
構文の詳細な説明: Pandas DataFrame (df) の列を 作成、変更、または 割り当て に使用します。基本から上級まで、段階的に見ていきましょう。
基本
1. 新しい列を作成します
-
DataFrame に列が存在しない場合、
df['column']
に値を代入すると新しい列が作成されます。 -
例:
import pandas as pd df = pd.DataFrame({'A': [1, 2, 3]}) print(df) # 输出: # A # 0 1 # 1 2 # 2 3 # 创建一个新列 'B',所有值都设置为 0 df['B'] = 0 print(df) # 输出: # A B # 0 1 0 # 1 2 0 # 2 3 0
2. 既存の列を変更します
-
列がすでに存在する場合、代入によってその内容が置き換えられます。
-
例:
df['B'] = [4, 5, 6] # 替换列 'B' 中的值 print(df) # 输出: # A B # 0 1 4 # 1 2 5 # 2 3 6
中級レベル
3. 式ベースの割り当て
-
計算または変換に基づいて列に値を割り当てることができます。
-
例:
df['C'] = df['A'] + df['B'] # 创建列 'C' 为 'A' 和 'B' 的和 print(df) # 输出: # A B C # 0 1 4 5 # 1 2 5 7 # 2 3 6 9
4. 条件付き代入を使用する
-
条件付き代入には Pandas のブール型インデックスを使用できます。
-
例:
df['D'] = df['A'].apply(lambda x: 'Even' if x % 2 == 0 else 'Odd') print(df) # 输出: # A B C D # 0 1 4 5 Odd # 1 2 5 7 Even # 2 3 6 9 Odd
5. 式で複数の列を使用する
-
より複雑な計算を行うには、1 つの式で複数の列を使用できます。
-
例:
df['E'] = (df['A'] + df['B']) * df['C'] print(df) # 输出: # A B C D E # 0 1 4 5 Odd 25 # 1 2 5 7 Even 49 # 2 3 6 9 Odd 81
上級章
6. ベクトル化操作
-
数値代入では、ベクトル化演算を使用してパフォーマンスを向上させることができます。
-
例:
df['F'] = df['A'] ** 2 + df['B'] ** 2 # 快速向量化计算 print(df) # 输出: # A B C D E F # 0 1 4 5 Odd 25 17 # 1 2 5 7 Even 49 29 # 2 3 6 9 Odd 81 45
7. 条件付き論理代入には np.where
を使用します
-
NumPy を条件付き代入に使用できます。
-
例:
import numpy as np df['G'] = np.where(df['A'] > 2, 'High', 'Low') print(df) # 输出: # A B C D E F G # 0 1 4 5 Odd 25 17 Low # 1 2 5 7 Even 49 29 Low # 2 3 6 9 Odd 81 45 High
8. 外部関数を使用して値を代入します
-
行または列に適用されるカスタム関数に基づいて列に値を割り当てます。
-
例:
def custom_function(row): return row['A'] * row['B'] df['H'] = df.apply(custom_function, axis=1) print(df) # 输出: # A B C D E F G H # 0 1 4 5 Odd 25 17 Low 4 # 1 2 5 7 Even 49 29 Low 10 # 2 3 6 9 Odd 81 45 High 18
9. チェーン操作
-
コードをより簡潔にするために、複数の操作を連鎖させることができます。
-
例:
df['I'] = df['A'].add(df['B']).mul(df['C']) print(df) # 输出: # A B C D E F G H I # 0 1 4 5 Odd 25 17 Low 4 25 # 1 2 5 7 Even 49 29 Low 10 49 # 2 3 6 9 Odd 81 45 High 18 81
10. 複数の列を一度に割り当てます
-
assign()
を使用して、1 回の呼び出しで複数の列を作成または変更します。 -
例:
df = df.assign( J=df['A'] + df['B'], K=lambda x: x['J'] * 2 ) print(df) # 输出: # A B C D E F G H I J K # 0 1 4 5 Odd 25 17 Low 4 25 5 10 # 1 2 5 7 Even 49 29 Low 10 49 7 14 # 2 3 6 9 Odd 81 45 High 18 81 9 18
専門家
11. 動的な列の割り当て
-
外部入力に基づいて列名を動的に作成します。
-
例:
columns_to_add = ['L', 'M'] for col in columns_to_add: df[col] = df['A'] + df['B'] print(df)
12. 外部データ割り当てを使用する
-
外部データフレームまたはディクショナリに基づいて列に値を割り当てます。
-
例:
mapping = {1: 'Low', 2: 'Medium', 3: 'High'} df['N'] = df['A'].map(mapping) print(df) # 输出: # A B C D E F G H I J K N # 0 1 4 5 Odd 25 17 Low 4 25 5 10 Low # 1 2 5 7 Even 49 29 Low 10 49 7 14 Medium # 2 3 6 9 Odd 81 45 High 18 81 9 18 High
13. パフォーマンスの最適化:
- 値を割り当てる場合、Pandas の組み込み関数 (
apply
、ベクトル化された操作) を使用すると、Python ループよりもパフォーマンスが向上します。
概要
df['column'] = expression
構文は Pandas の中核機能であり、幅広い用途があります。次のことが可能になります:
- DataFrame 内の列を追加、変更、操作します。
- 条件ベースのロジックや複数列の変換などの複雑な計算を実行します。
- 操作を連鎖させ、新しい列を動的に生成します。
これにより、Pandas は強力なデータ操作および分析ライブラリになります。
以上がpandas の構文 `df[column] =expression` の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは解釈された言語ですが、コンパイルプロセスも含まれています。 1)Pythonコードは最初にBytecodeにコンパイルされます。 2)ByteCodeは、Python Virtual Machineによって解釈および実行されます。 3)このハイブリッドメカニズムにより、Pythonは柔軟で効率的になりますが、完全にコンパイルされた言語ほど高速ではありません。

useaforloopwhenteratingoverasequenceor foraspificnumberoftimes; useawhileloopwhentinuninguntinuntilaConditionismet.forloopsareidealforknownownownownownownoptinuptinuptinuptinuptinutionsituations whileoopsuitsituations withinterminedationations。

pythonloopscanleadtoErrorslikeinfiniteloops、ModifiningListsDuringiteration、Off-Oneerrors、Zero-dexingissues、およびNestededLoopinefficiencies.toavoidhese:1)use'i

forloopsareadvastountousforknowterations and sequences、offeringsimplicityandeadability;

pythonusesahybridmodelofcompilation andtertation:1)thepythoninterpretercompilessourcodeodeplatform-indopent bytecode.2)thepythonvirtualmachine(pvm)thenexecuteTesthisbytecode、balancingeaseoputhswithporformance。

pythonisbothintersedand compiled.1)it'scompiledtobytecode forportabalityacrossplatforms.2)bytecodeisthenは解釈され、開発を許可します。

loopsareideal whenyouwhenyouknumberofiterationsinadvance、foreleloopsarebetterforsituationsは、loopsaremoreedilaConditionismetを使用します

henthenumber ofiterationsisknown advanceの場合、dopendonacondition.1)forloopsareideal foriterating over for -for -for -saredaverseversives likelistorarrays.2)whileopsaresupasiable forsaresutable forscenarioswheretheloopcontinupcontinuspificcond


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
