我有一堆CSV文件,其中包含与数据相对应的日期行,列标题使用pandas,我已经能够导入CSV文件。现在,我制作了一个CSV文件,它按日期时间标记感兴趣的点。我还用pandas导入了这个文件。我需要用时间矩阵来解析这些日期,并用时间来存储这些数据。当前,使用pd.to_日期时间我已经能够将csv中的字符串转换为datetime,但是我不知道如何存储它。这是我使用Python的第三天,所以我为这个新手的问题道歉。我是一个比较高级的Matlab用户。我将提供我的代码,但我不能提供有问题的数据,因为它不是我所有。谢谢各位!在
NUMBER_OF_CLASSES = 4
SUBSPACE_DIMENSION = 3
from datetime import datetime
import pandas as pd
import pandas_datareader.data as web
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
PeriodList = pd.read_csv('IP_List.csv')
PeriodList = PeriodList.as_matrix()
# Pdata format:
# Pdata{hull, engine, 1}(:) - datetime array of hull and engine P data
# Pdata{hull, engine, 2}(:,:) - parametric data corrsponding to timestamps in datetime array
# Pdata{hull, engine, 3}(:) - array of parametric channel labels
Pdata_1 = pd.read_csv('LPD-17_1A.csv')
[list_m, list_n] = PeriodList.shape
Pdata_1 = Pdata_1.as_matrix()
startdatetime = []
enddatetime = []
#Up to line 27 done on MatLab script
for d in range (0, list_m):
Hull = PeriodList[d,0]
Engine = PeriodList[d,1]
startdatetime[d] = pd.to_datetime(PeriodList[d,2])
enddatetime[d] = pd.to_datetime(PeriodList[d,3])
#startdatetime = pd.to_datetime(PeriodList[d,2])
找到了一个解决方案:生成空字符串,然后循环存储每次迭代的值。因为它是空字符串,所以不会出现“cannot convert to float”错误。谢谢你的帮助@Bharath Shetty
代码:
无需迭代数据帧,您可以将开始日期和结束日期存储在新的数据帧中,并将列转换为时间序列,然后可以通过
iloc
方法访问数据:如果您想在现有数据结构下具体存储,可以使用以键作为索引、以值作为数据帧值的字典
^{pr2}$如果您正在寻找结束日期和开始日期的差异,您可以简单地减去列,即
我建议您阅读pandas文档,了解有关访问数据的更多信息here
编辑:
您也可以在代码中使用字典,即
希望这有帮助
相关问题 更多 >
编程相关推荐