Python Pandas 简单使用之 API熟悉

 

1、read_csv

li_index =    ['round_id', 'index', 'c-sequen'  ]
dataset = pd.read_csv(file,  low_memory=False, sep='\t', names=li_index)

2、insert

# 方法1
dataset.insert(2, 'G' , 'Test')
# 方法2
dataset['D']='ColumnD'

3、分列

dataset.insert(2, 'G' , dataset['h-next_left'].map(lambda x: x.split('-')[0]))

 4、save

dataset.to_csv(f, sep='\t', header=0, index=0, mode='w+')  # header=0不保存列名, index=0 #不保存行索引

 5、分组

df.groupby(['key1', 'key2']) # 可以多列分组

 

6、输出显示配置

#显示所有列
# pd.set_option('display.max_columns', None)
# 显示所有行
# pd.set_option('display.max_rows', None)

 

 

Pandas中loc和iloc函数用法

--------------------------------------------

1. 利用loc、iloc提取行数据

import numpy as np
import pandas as pd
#创建一个Dataframe
data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))

In[1]: data
Out[1]: 
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15

#取索引为'a'的行
In[2]: data.loc['a']
Out[2]:
A 0
B 1
C 2
D 3
#取第一行数据,索引为'a'的行就是第一行,所以结果相同
In[3]: data.iloc[0]
Out[3]:
A 0
B 1
C 2
D 3


2. 利用loc、iloc提取列数据

In[4]:data.loc[:,['A']] #取'A'列所有行,多取几列格式为 data.loc[:,['A','B']]
Out[4]: 
A
a 0
b 4
c 8
d 12

In[5]:data.iloc[:,[0]] #取第0列所有行,多取几列格式为 data.iloc[:,[0,1]]
Out[5]: 
A
a 0
b 4
c 8
d 12


3.利用loc、iloc提取指定行、指定列数据

In[6]:data.loc[['a','b'],['A','B']] #提取index为'a','b',列名为'A','B'中的数据
Out[6]: 
A B
a 0 1
b 4 5

In[7]:data.iloc[[0,1],[0,1]] #提取第0、1行,第0、1列中的数据
Out[7]: 
A B
a 0 1
b 4 5

 


 

4.利用loc、iloc提取所有数据

In[8]:data.loc[:,:] #取A,B,C,D列的所有行
Out[8]: 
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15

In[9]:data.iloc[:,:] #取第0,1,2,3列的所有行
Out[9]: 
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15

 

5.利用loc函数,根据某个数据来提取数据所在的行

In[10]: data.loc[data['A']==0] #提取data数据(筛选条件: A列中数字为0所在的行数据)
Out[10]: 
A B C D
a 0 1 2 3

In[11]: data.loc[(data['A']==0)&(data['B']==2)] #提取data数据(多个筛选条件)
Out[11]: 
A B C D
a 0 1 2 3

 

posted @ 2019-02-26 20:11  戒骄戒躁-沉淀积蓄  阅读(510)  评论(0)    收藏  举报