1.将时间数值int(20181201)转成日期格式(2018-12-01)
直接上代码
def string_toDatetime(st):
return datetime.datetime.strptime(st, "%Y%m%d")
def data_process(df):
date = np.array(df[0])
list_date = []
for i in date:
group = string_toDatetime(i)
list_date.append(group)
df['DATE'] = list_date
# df = df.drop([0], axis=1)
return df
def main():
file_path1 = r"./20181210.txt"
data1 = pd.read_csv(file_path1, header=None, encoding='utf-8', engine='python', sep=',') #读取txt文件,无表头
num1 = data1[[0, 1, 4]]
num1[0] = num1[0].apply(str)
print(type(num1[0][0]))
print(data_process(num1))
>>data1
0 1 4
0 20181201 3.101011e+11 未分配
1 20181201 3.101011e+11 分配
2 20181201 3.101012e+11 未分配
>> data_process(num1)
0 1 4 DATE
0 20181201 3.101011e+11 未分配 2018-12-01
1 20181201 3.101011e+11 分配 2018-12-01
2 20181201 3.101012e+11 未分配 2018-12-01
https://blog.youkuaiyun.com/ly_ysys629/article/details/73822716
https://blog.youkuaiyun.com/qq_22238533/article/details/77110626
https://blog.youkuaiyun.com/huobanjishijian/article/details/78721618
放个大招
2、pd.read_csv()、pd.read_excel()函数中parse_dates参数
对于时间序列的处理,可以在最开始读取文件的时候就进行处理
关于这个parse_dates参数,先看一下代码
Df = pd.read_excel(f, parse_dates=['时间'])
#参数解释:
# f :读取的Excel文件路径
# parse_dates=['时间']:其中‘时间’为Excel中的时间列的列名
parse_dates参数:
boolean. True -> 解析索引
list of ints or names. e.g. If [1, 2, 3] -> 解析1,2,3列的值作为独立的日期列;
list of lists. e.g. If [[1, 3]] -> 合并1,3列作为一个日期列使用
dict, e.g. {‘foo’ : [1, 3]} -> 将1,3列合并,并给合并后的列起名为"foo"