pandas DataFrame 选取数据

import numpy as np
import pandas as pd


from conf.conf import engineconnect


sql = """select id,action,uid,time from `*****`"""
df = pd.read_sql(sql, engineconnect().connect())
df = df.astype({"uid": np.int64, 'id': np.int64})
# print(df)
'''
    id         action    uid                time
0          1     user-login  13026 2018-09-11 09:46:47
1          2     user-login  13025 2018-09-11 09:46:43
2          3     user-login  13027 2018-09-11 09:47:16
3          4     user-login  13028 2018-09-11 09:48:16
4          5     user-login  13029 2018-09-11 09:48:54
5          6     user-login  13030 2018-09-11 09:49:58
6          7  user-play-vod  13031 2018-09-11 09:50:36
7          8     user-login  13031 2018-09-11 09:50:
'''
print(df['uid'])           #使用类字典属性,返回的是Series类
print(type(df['uid']))    #<class 'pandas.core.series.Series'>
print(df.uid)             #  使用点属性,返回的是Series类型

print(df[['uid','time']])
print(type(df[['uid','time']])  )     #<class 'pandas.core.frame.DataFrame'>

print(df[0:3])           #返回第1行到第3行的所有行,前闭后

print(df[1:2])      #前闭后开
print(df.ix[0:2])   #都bi

df.head(10)
df.head(40)






print(df.iloc[-1])   #选取dfFrame最后一行,返回的是Series
print(type(df.iloc[-1]))  #<class 'pandas.core.series.Series'>
print(df.iloc[-1:] )  #选取最后一行,返回的是dfFrame
#

print(df.iat[1,1] )  #选取第二行第二列,用于已知行、列位置的选取。


print(df.ix[1:2,2:4])  #选择第2-3行,3-5(不包括5)列的值
print(df.ix[:,2:4])
print(type(df.ix[1:2,2:4]) )    #<class 'pandas.core.frame.DataFrame'>

print("*"*33)
df[-1:]    #最后一行   <class 'pandas.core.frame.DataFrame'>

print("*"*33)
print(df.ix[df.uid>13046,:])  #
'''
     id         action    uid                time
48        49  user-registry  13047 2018-09-11 10:52:59
49        50     user-login  13047 2018-09-11 10:52:59
51        52  user-registry  13048 2018-09-11 10:54:19
52        53     user-login  13048 2018-09-11 10:54:19
53        54  user-registry  13049 2018-09-11 10:55:24
54        55     user-login  13049 2018-09-11 1
'''
print("*"*33)







猜你喜欢

转载自blog.csdn.net/weixin_40161254/article/details/83545399