作者:HaigLee
地址:https://www.jianshu.com/u/67ec21fb270d
本文由 @HaigLee 原创发布。未经许可,禁止转载。
0. Series
pandas 里面 行和列都可以用一个东西来表示,这个就是Series。
1. 生产一个序列对象
import pandas as pd
1.1. 初始化一个Series
s1 = pd.Series()
s1.data # 将版本会被去掉
<memory at 0x11bd89648>
s1.name
s1.index
Index([], dtype='object')
2. Series 和 python 中 的dict 很类似,可以进行转化
2.1. 生成一个字典
test_dict = {'x':1,'y':2,'z':3}
2.2. 选取字典的key值
test_dict.keys()
dict_keys(['x', 'y', 'z'])
2.3. 选取字典的values值
test_dict.values()
dict_values([1, 2, 3])
2.4. 根据key选取字典的value值
test_dict['y']
2
2.5. 将字典转化为Series
test_series = pd.Series(test_dict)
2.6. 输出Series
test_series
x 1
y 2
z 3
dtype: int64
2.7. 输出Series的索引
test_series.index
Index(['x', 'y', 'z'], dtype='object')
2.8. 输出Series数据地址,将来会被去掉,不推荐使用
test_series.data
2.9. 使用索引列表和值列表进行Series的初始化
test_index = ['x','y','z','t']
test_ele = ['0','0','1','1']
2.10. 将两个列表直接转化为Series
x = pd.Series(test_ele)
x[0]
'0'
X[3]
'1'
3. 处理TimeStamp
3.1. 导入包
import pandas as pd
3.2. 读取文件,去除文件最后一行
read_file = pd.read_csv('./data/popularity-contest.csv',sep=' ')[:-1]
3.3. 输出文件前5行,包含标题6行
read_file.head(5)
数据1.png
3.4. 更换列名
read_file.columns = ['atime', 'ctime', 'package-name', 'mru-program', 'tag']
3.5. 输出文件前5行另外一种方式
read_file[:5]
数据2.png
3.6. 输出文件前5行
read_file.head(5)
数据3.png
3.7. 打印列类型
print(type(read_file['atime']))
<class 'pandas.core.series.Series'>
3.8. 打印表类型
print(type(read_file))
<class 'pandas.core.frame.DataFrame'>
3.9. 将 atime 列切换为 int 类型
read_file['atime'] = read_file['atime'].astype('int')
3.10. 将 ctime列切换为 int 类型
read_file['ctime'] = read_file['ctime'].astype('int')
3.11. 将 atime 列 切换为 datetime类型,单位为:s
read_file['atime'] = pd.to_datetime(read_file['atime'],unit='s') # (D,s,ms,us,ns)
3.12. 将 ctime 列 切换为 datetime类型,单位为:s
read_file['ctime'] = pd.to_datetime(read_file['ctime'],unit='s')
# pd.to_datetime()
#print(read_file['atime'])
read_file['atime'].dtype
dtype('<M8[ns]')
3.13. 根据atime 时间字段进行比较过滤
read_file[read_file['atime'] > '2013-01-01'][:10]
数据4.png
3.14. 魔法操作符,保留package-name列中不存在‘lib’的行数据
read_file = read_file[~read_file['package-name'].str.contains('lib')]
3.15. 输出文件前5行
read_file.head(5)
数据5.png
3.16. 对表数据根据dateTime类型列进行倒序(从大到小)排序
read_file.sort_values('ctime',ascending=False).head(5)
数据6.png
3.17. 对表数据根据dateTime类型列进行正序(从小到大)排序
read_file.sort_values('ctime',ascending=True).head(5)
数据7.png
注: 对于单位,可以选择ms、us、ns等,根据timestamp的长度而决定,这里是10位,所以选择s级。
作者:HaigLee
地址:https://www.jianshu.com/u/67ec21fb270d
本文由 @HaigLee 原创发布。未经许可,禁止转载。
网友评论