0
0

いろいろなモジュールを使おう!!

Posted at

はじめに

こんにちは!!B4の黒田です!!
今回は,プログラムのモジュールについて紹介します.

推奨環境
OS: ubuntu22.04
プログラム: python

import sysについて

import sys ##プログラム内で宣言

このモジュールは,pythonの実行時に関する情報や機能を提供するために使用されます.
例:
・コマンドライン引数へのアクセス
・標準入出力へのアクセス
・プログラムの終了
・パスの設定等

・コマンドライン引数へのアクセス
この機能をメインに使用することが多いと思います.
例えば,コマンドで以下を入力.

$python3 ros2bag_to_csv.py [ros2 bagファイル] [トピック名] ##コマンド入力

コマンド入力内のros2bag_to_csv.pyを取得したい場合:

sys.argv[0] ##プログラム内で入力,コマンドライン引数の0番目の要素を取得

同様に,[ros2 bagファイル],[トピック名]は

sys.argv[1] ##プログラム内で入力
sys.argv[2] ##プログラム内で入力

sysは以上です.

import numpy as npについて

import numpy as np ##プログラム内で宣言

このモジュールは,多次元配列・行列演算・数学関数などの機能を提供し,データ処理に広く利用されます.
例:
・numpy配列の作成
・行列演算
・数学関数

・numpy配列の作成,簡単な行列計算
プログラムで以下を書き込みます.⇐単純なものです.

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
print(a)
# [[1 2]
#  [3 4]]が出力されます.
print(a+b)
# [[6 8]
#  [10 12]]が出力されます.
print(np.dot(a,b)) #行列の乗算

更に,数学関数や乱数作成もできます.

x = np.array([0, 1, 2])
# サイン関数
result = np.sin(x)
# 指数関数
result = np.exp(x)
# 対数関数
result = np.log(x)

# 0から1までのランダムな値
random_value = np.random.rand()
# 正規分布に従うランダムな値
random_values = np.random.randn(5)

npは以上です.

import pandas as pdについて

import pandas as pd ##プログラム内で宣言

このモジュールは,pythonのデータ解析用ライブラリをプログラムに導入する役割を果たす.

例:
・データフレームの作成
・データの表示
・データの操作
・データの読み書き

・データフレームの作成
データフレームとは,2次元のデータに対応するデータ構造.行名(index)や列名(column)を指定することや,データの取り出し,データの簡易化を行うことができる.

# データフレームの作成
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
print(df)
    #      Name  Age           City
    #0    Alice   25       New York
    #1      Bob   30  San Francisco
    #2  Charlie   35    Los Angeles #が出力される

・データの読み書き

# csvファイルからデータを読み込み
df = pd.read_csv('data.csv')
# データをCSVファイルに保存
df.to_csv('output.csv', index=False)

pdは以上です.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0