환경

  • Python
  • Pandas


사용법

  • DataFrame에서 .str을 사용하면 된다.
import pandas as pd

df = pd.DataFrame(
    {'datetime': ['2022-02-28 10:30:00', '2022-03-01 11:45:00', '2022-03-02 12:15:00'], 'value': [1, 2, 3]}
)

# extract values using string slicing
df['date'] = df['datetime'].str[0:10]
df['year'] = df['datetime'].str[0:4]
df['month'] = df['datetime'].str[5:7]
df['day'] = df['datetime'].str[8:10]
df['time'] = df['datetime'].str[11:20]
df['hour'] = df['datetime'].str[11:13]
df['minute'] = df['datetime'].str[14:16]
df['second'] = df['datetime'].str[17:19]

df


참고자료


Environment and Prerequisite

  • Python
  • Pandas


Usage

  • Use .str in DataFrame.
import pandas as pd

df = pd.DataFrame(
    {'datetime': ['2022-02-28 10:30:00', '2022-03-01 11:45:00', '2022-03-02 12:15:00'], 'value': [1, 2, 3]}
)

# extract values using string slicing
df['date'] = df['datetime'].str[0:10]
df['year'] = df['datetime'].str[0:4]
df['month'] = df['datetime'].str[5:7]
df['day'] = df['datetime'].str[8:10]
df['time'] = df['datetime'].str[11:20]
df['hour'] = df['datetime'].str[11:13]
df['minute'] = df['datetime'].str[14:16]
df['second'] = df['datetime'].str[17:19]

df


Reference


환경

  • Python
  • Pandas


사용법

  • pd.to_datetime() 함수 사용
import pandas as pd

df = pd.DataFrame(
    {'datetime': ['2022-02-28 10:30:00', '2022-03-01 11:45:00', '2022-03-02 12:15:00'], 'value': [1, 2, 3]}
)

# convert the 'date' column to datetime type
df['datetime'] = pd.to_datetime(df['datetime'])

df['date'] = df['datetime'].dt.date
df['year'] = df['datetime'].dt.year
df['month'] = df['datetime'].dt.month
df['day'] = df['datetime'].dt.day
df['day_name'] = df['datetime'].dt.day_name()
df['time'] = df['datetime'].dt.time
df['hour'] = df['datetime'].dt.hour
df['minute'] = df['datetime'].dt.minute
df['second'] = df['datetime'].dt.second

df


참고자료


Environment and Prerequisite

  • Python
  • Pandas


Usage

  • Use pd.to_datetime()
import pandas as pd

df = pd.DataFrame(
    {'datetime': ['2022-02-28 10:30:00', '2022-03-01 11:45:00', '2022-03-02 12:15:00'], 'value': [1, 2, 3]}
)

# convert the 'date' column to datetime type
df['datetime'] = pd.to_datetime(df['datetime'])

df['date'] = df['datetime'].dt.date
df['year'] = df['datetime'].dt.year
df['month'] = df['datetime'].dt.month
df['day'] = df['datetime'].dt.day
df['day_name'] = df['datetime'].dt.day_name()
df['time'] = df['datetime'].dt.time
df['hour'] = df['datetime'].dt.hour
df['minute'] = df['datetime'].dt.minute
df['second'] = df['datetime'].dt.second

df


Reference

Kubernetes Python 클라이언트를 사용해 yaml 파일로부터 pod를 생성해보자


환경

  • Kubernetes
  • 기본 설정들이 ~/.kube/config file에 되어있다고 가정


사용법

예시 YAML 파일

  • 이 글에서 파일명은 nginx_deployment.yaml다.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

코드

  • 기본 설정들이 ~/.kube/config file에 되어있다고 가정
import time
from kubernetes import client as kubernetes_client
from kubernetes import utils
from kubernetes import config
import yaml


# read yaml file as object
with open("nginx_deployment.yaml") as f:
    nginx_deployment_yaml = yaml.safe_load(f)

# load default config
# assume that default setting is set in ~/.kube/config
config.load_kube_config()

# load kubernetes client
k8s_client = kubernetes_client.api_client.ApiClient()

# create pods from yaml object
utils.create_from_yaml(k8s_client, yaml_objects=[
                       nginx_deployment_yaml], namespace="default")

# wait for pods
time.sleep(3)

# list pods
core_v1_api = kubernetes_client.CoreV1Api()
pods = core_v1_api.list_namespaced_pod("default")
for pod in pods.items:
    print(f"{pod.metadata.name} {pod.status.phase} {pod.status.pod_ip} {pod.metadata.namespace}")

실행 결과

$ python test.py
nginx-deployment-7fb96c846b-bgvkv Running 172.17.0.3 default
nginx-deployment-7fb96c846b-g9l6l Running 172.17.0.4 default
$ kubectl get pods -n default
NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-7fb96c846b-bgvkv   1/1     Running   0          20s
nginx-deployment-7fb96c846b-g9l6l   1/1     Running   0          20s


참고자료