打开一个数据集,df=pd.read_csv(‘filename.csv’) #数据集较大时候用分块读取数据方法chunksize=1000,iterator=True
数据集内容为:
A B C D
0 ID_1 ID_2 2015-12-23 12:15:20.799 23
1
.
.
.
查看其中的数据格式print(df.dtypes),C列本是时间,但显示为object类型
A object
B object
C object
D int64
dtype: object
所以要转换为datetime类型,df[‘C’] = pd.to_datetime(df[‘C’]) prinr(df.dtypes)
A object
B object
C datetime64[ns]
D int64
dtype: object
查看数据集中年月日的情况 print(df[‘C’].dt.year.unique(),df[‘C’].dt.month.unique(),df[‘C’].dt.day.unique())
转化时间为只显示年-月:df[‘C’] = df[‘C’].map(lambda x: x.strftime(’%Y-%m’))#’%Y-%m-%d %H:%M:%S.%f’ 年-月-日 时:分:秒.毫秒
index C
941750 2016-03
941751 2016-03
941752 2016-03
完整代码:
import time
from datetime import datetime
import pandas as pd
import numpy as np
df=pd.read_csv(‘filename.csv’,chunksize=10000,iterator=True)
pd.set_option(‘display.max_columns’, None)#显示全部列
pd.set_option(‘display.max_rows’, None)#显示全部行
pd.set_option(‘display.width’,1000)#防止换行显示
for chunk in df:
df=chunk.append(chunk)#连接chunk
#print(df.dtypes)
df['C'] = pd.to_datetime(df['C'])
#print(df.dtypes)
#print(df['C'].dt.year.unique(),df['C'].dt.month.unique(),df['C'].dt.day.unique())
df['C'] = df['C'].map(lambda x: x.strftime('%Y-%m'))##设置显示‘年-月’
#print(df['C'])
print('数据集中时间出现频数统计排序前10:\n', df['C'].value_counts()[0:10])
**#value_counts()返回的是Series类型,只有一个变量,Series的index**
df[‘created_at’].value_counts().sort_index().plot.bar()#统计结果可视化
补充:
#修改第二列名:df.rename(columns={2:‘new name’},inplace=True)
来源:CSDN
作者:Yidian_
链接:https://blog.csdn.net/Yidian_/article/details/104562403