Эта статья является неким расширением, основанным на предыдущей статье, а также в процессе использования используются другие сторонние библиотеки pandas of python.
В основном он анализирует объекты datetime библиотеки datetime и вводит связанные типы данных, такие как: datedelte, detetime и т. д. В конце концов, разные типы могут делать разные вещи.
Все данные, используемые в этой статье, находятся внизу статьи.Друзья, нуждающиеся в помощи, могут выполнять практические операции, чтобы проверить свои результаты обучения.Если есть какие-либо плохие записи, добро пожаловать на критику и исправление!
Нечего сказать, просто перейдите к коду! ! !
импортированная библиотека
from datetime import datetime
import pandas as pd
основное использование
now = datetime.now() # 获取当前时间,形式为2022-01-23 19:52:01.037051
ago = datetime(1970,1,1)
distance = now - ago # 可以进行数学运算,返回天数和当前时间(时分秒),类型为timedelta
data = pd.read_csv('country_timeseries.csv') # Date列包含日期信息,info指出属于字符串对象
data['date'] = pd.to_datetime(data['Date']) # 通过to_datetime方法转换为日期格式,默认年-月-日
data['dt'] = pd.to_datetime(data['Date'],format='%m/%d/%Y') # 可以指定形式,仍是datetime类型
"""加载包含日期的数据"""
df = pd.read_csv('country_timeseries.csv', parse_dates=[0]) # 直接指定想要转换为日期的列,通过info方法可以查看数据
"""提取日期的各个部分"""
d = pd.to_datetime('2009-01-01 19:20:04.032561') # 传入对象为字符串,会返回一个TimeStamp对象
print(d.year, d.month, d.day, d.hour, d.minute, d.second, sep='\n') # 获取传入日期的各个部分
Если вы используете оператор импорта для импорта библиотеки даты и времени, вы должны добавить дату и время. Дата и время в коде является объектом в библиотеке. Причина, по которой вы пишете имя файла напрямую, не указывая абсолютный путь, заключается в том, что файл находится в текущий каталог, который основан на всех. Изучите основы импорта библиотек.
Вы можете распечатать каждое предложение кода, Знание библиотеки pandas — это просто импорт файлов здесь или преобразование типов данных. Если вам непонятно поведение strftime в формате, вы можете посмотреть мою предыдущую статью, которая в основном соответствует повседневному использованию.
Для кода в разделе «Загрузка различных частей даты», если входящие данные — это только год, месяц и день, он не может вывести свои часы, минуты и секунды, ведь создать что-то из ничего нереально. . Используйте операцию информационного атрибута, то есть ".info()", для просмотра типа данных каждого столбца.
"""日期运算与Timedelta"""
min_day = data['dt'].min() # 获取最小时间
data['distance'] = data['dt'] - min_day # 一定要同类型,获得时间差值,最终获得的列的数据类型为Timedelta
"""datetime方法"""
banks = pd.read_csv('banklist.csv', parse_dates=[5, 6])
banks['close_quarter'] = banks['Closing Date'].dt.quarter # 获得季度信息,类型为数值型
banks['close_year'] = banks['Closing Date'].dt.year # 获取年份信息
quantity = banks.groupby(['close_year']).size() # 获取倒闭银行数量
Банки здесь — это данные о банках-банкротах. parse_dates=[5,6] преобразует данные в столбцах 6 и 7 в типы даты, а индекс начинается с 0. dt — это объект по умолчанию для получения информации о квартале и годе, который используется для разделения необходимых частей даты.
Данные следующие, уу, кому это нужно, добро пожаловать! В нем есть файл tesla.csv, в котором хранятся данные определенного запаса за последние 5 лет.
Код извлечения: 1234
Если вы не понимаете, добро пожаловать, чтобы оставить сообщение в области комментариев! ! !