pandas设置&修改Dataframe数据

1.使用pd.loc

import pandas as pd
data=[['mark',55,'Italy',4.5,'Europe'],
      ['John',33,'China',3.8,'Asian'],
      ['mary',40,'Japan',2.3,'Asian']]
df=pd.DataFrame(data=data,columns=['name','age','country','score','continent'],
                index=[1001,1002,1003])
df1=df.copy()
df.loc[df1['name']=='mary','country']= 'korea'
print(df)

pandas设置&修改Dataframe数据_第1张图片
注意:

  1. df[],方括号里不能是index的name
  2. set_index不能对原Dataframe起作用,需要写成df=df.set_index()

2.使用pd.iloc

import pandas as pd
data=[['mark',55,'Italy',4.5,'Europe'],
      ['John',33,'China',3.8,'Asian'],
      ['mary',40,'Japan',2.3,'Asian']]
df=pd.DataFrame(data=data,columns=['name','age','country','score','continent'],
                index=[1001,1002,1003])
cri=(df['name']=='mary')|(df['name']=='John')
df.iloc[cri,2]='Korea'
print(df)

pandas设置&修改Dataframe数据_第2张图片
3. 使用replace

import pandas as pd
data=[['mark',55,'Italy',4.5,'Europe'],
      ['John',33,'China',3.8,'Asian'],
      ['mary',40,'Japan',2.3,'Asian']]
df=pd.DataFrame(data=data,columns=['name','age','country','score','continent'],
                index=[1001,1002,1003])
df=df.replace('Asian','America')
print(df)

pandas设置&修改Dataframe数据_第3张图片
注:同样
pd.replace不对原Dataframe做改变,需要重新对Dataframe赋值

4. 添加新列

import pandas as pd
import numpy as np
data=[['mark',55,'Italy',4.5,'Europe'],
      ['John',33,'China',3.8,'Asian'],
      ['mary',40,'Japan',2.3,'Asian']]
df=pd.DataFrame(data=data,columns=['name','age','country','score','continent'],
                index=[1001,1002,1003])
df.loc[:,'discount']=np.arange(1,4)
df.insert(2,'starts','none')
print(df)

pandas设置&修改Dataframe数据_第4张图片

  1. df.loc:通过标签新建,只能在最后新建
  2. df.insert(),可以自己决定位置

你可能感兴趣的:(pandas,python,数据分析)