>>> import pandas as pd
>>> import numpy as np
>>> from pandas import Series, DataFrame
>>> df = DataFrame({'name':['a','a','b','b'],'classes':[1,2,3,4],'price':[11,22,33,44]})
>>> df
classes name price
01 a 1112 a 2223 b 3334 b 44>>>
根据index和columns取值
>>> s = df.loc[0,'price']
>>> s
11
根据同行的columns的值取同行的另一个columns的值
>>> sex = df.loc[(df.classes==1)&(df.name=='a'),'price']
>>> sex
011
Name: price, dtype: int64
>>> sex = df.loc[(df.classes==1)&(df.name=='a'),'price'].values[0]
>>> sex
11
根据条件同时取得多个值
>>> name,price = df.loc[df.classes==1,('name','price')].values[0]
>>> name
'a'>>> price
11
>>>
对一列赋值
>>> df.loc[: , 'price']=0>>> df
classes name price
01 a 012 a 023 b 034 b 0
>>>
对df的一个列进行函数运算
【1】
>>> df['name'] = df['name'].apply(lambda x: x.upper())
>>> df
classes name price
01 A 1112 A 2223 B 3334 B 44
【2】
>>> df.loc[:, 'name'] = df['name'].apply(lambda x: x.upper())
>>> df
classes name price
01 A 1112 A 2223 B 3334 B 44
>>>
>>> df
classes name price
01 a 1111 a 2223 b 3334 b 44>>> df.drop_duplicates(subset=['classes', 'name'], inplace=True)
>>> df
classes name price
01 a 1123 b 3334 b 44
>>> df = DataFrame({'name':['a','b','c','d'],'classes':[1,2,3,4],'price':[11,22,33,44]})
>>> df
classes name price
01 a 1112 b 2223 c 3334 d 44
【方法一】
>>> df = df.loc[df['name']!='a']
>>> df
classes name price
12 b 2223 c 3334 d 44>>>
【方法二】
df.drop(df[df.name=='a'].index,axis=0)
#筛选df的每列值包含某个字段‘/a’
>>> import pandas as pd
>>> df = pd.DataFrame({'a':['A', 'B'], 'b': ['AA', 'BB']})
>>> df
a b
0 A AA
1 B BB
>>> df[df['a'].str.contains(r'A')]
a b
0 A AA
>>> df = pd.DataFrame({'a':['/api/', 'B'], 'b': ['AA', 'BB']})
>>> df
a b
0 /api/ AA
1 B BB
>>> df[df['a'].str.contains(r'/api/')]
a b
0 /api/ AA
>>>