Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรมใน Python เพื่อกำหนดเขตเวลาอาเซียสำหรับ DataFrame ที่กำหนด


สมมติว่าคุณมีข้อมูลอนุกรมเวลา (time series) และต้องการกำหนดเขตเวลาอาเซีย ผลลัพธ์จะเป็นดังนี้:

Index is: DatetimeIndex(['2020-01-05 00:30:00+05:30', '2020-01-12 00:30:00+05:30', '2020-01-19 00:30:00+05:30', '2020-01-26 00:30:00+05:30', '2020-02-02 00:30:00+05:30'], dtype='datetime64[ns, Asia/Calcutta]', freq='W-SUN')

วิธีแก้ปัญหา

  • กำหนด DataFrame

  • สร้างอนุกรมเวลาโดยใช้ฟังก์ชัน pd.date_range() โดยกำหนด start เป็น '2020-01-01 00:30', periods=5 และ tz = 'Asia/Calcutta' จากนั้นเก็บไว้ในตัวแปร time_index

time_index = pd.date_range('2020-01-01 00:30', periods=5, freq='W', tz='Asia/Calcutta')
  • กำหนด index ของ DataFrame ให้เป็น time_index ที่มีเขตเวลาท้องถิ่น

df.index = time_index
  • สุดท้าย พิมพ์เขตเวลาท้องถิ่นที่ได้

ตัวอย่าง

ลองดูโค้ดต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:

import pandas as pd
df = pd.DataFrame({'Id':[1,2,3,4,5], 'City':['Mumbai','Pune','Delhi','Chennai','Kolkata']})
time_index = pd.date_range('2020-01-01 00:30', periods=5, freq='W', tz='Asia/Calcutta')
df.index = time_index
print("DataFrame is:\n", df)
print("Index is:\n", df.index)

ผลลัพธ์

DataFrame is:       Id City
2020-01-05 00:30:00+05:30 1 Mumbai
2020-01-12 00:30:00+05:30 2 Pune
2020-01-19 00:30:00+05:30 3 Delhi
2020-01-26 00:30:00+05:30 4 Chennai
2020-02-02 00:30:00+05:30 5 Kolkata
Index is: DatetimeIndex(['2020-01-05 00:30:00+05:30', '2020-01-12 00:30:00+05:30', '2020-01-19 00:30:00+05:30', '2020-01-26 00:30:00+05:30', '2020-02-02 00:30:00+05:30'], dtype='datetime64[ns, Asia/Calcutta]', freq='W-SUN')