把数据变为DataFrame格式
data={"one":[1,2,3],"two":[1,2,3]}
df=pd.DataFrame(data)
获取某一列的数据
df=pd.read_csv('output.csv')
#获取“firstSeenSrcIp”列,srcIp为Series数据结构
srcIp=df[u'firstSeenSrcIp']
获取某一行的数据
a=df.ix["name"][0]
#获取name行的第一个数据
DataFrame中某一列中不同元素计数
#startTime为列名
timeCounts=df[u'startTime'].value_counts()
对dataframe遍历
本例子将Series格式的timeCounts先转换为dataframe结构在进行遍历。
timeCounts=pd.DataFrame(timeCounts)
result={}
for index, row in timeCounts.iterrows():
result[index]=row.values[0]
python将csv文件转为dataframe格式
df=pd.read_csv('test.csv')
根据dataframe中的某一列的值进行过滤
根据正则过滤
data=df[df['parsedDate'].str.contains(r'^(2013-04-06 11:){1}(09|10|11|12|13|14|15|16|17|18|19|20):([0-9])+')]
根据列的数据值进行过滤
data=df[df['TimeSeconds']<10]
#TimeSeconds为整型
把dataframe导入到csv文件中
with open('outputTest.txt', 'w') as fout:
df=pd.read_csv('test.csv')
df.to_csv(fout, encoding='utf-8', index=False)
dataframe排序:根据某一列的值
#TimeSeconds为列ming
data=data.sort(['TimeSeconds'],ascending=True)
排序:根据索引值
df.sort_index(inplace=True)
#inplace如果手动设定为 True,那么原数组就可以被替换。
更改某一列值的数据类型
#将该列数据变为字符串
df[u'firstSeenSrcPort'].astype('string')
重新建立索引
#删除原来的索引,重新建立由0开始的索引
obj4 = obj3.reset_index(drop=True)
不同的dataframe的数据合并
#先形成list结构
frames = [df1, df2, df3]
#利用concat函数
result = pd.concat(frames)
网友评论