零、创建DataFrame
import pandas as pd
df = pd.DataFrame([{'winner':'jsr'},
{'id':0,'winner':'jsr','age':'19940121','take_on':'vocal'},
{'id':1,'winner':'jqy','age':'19910926','take_on':'vocal'},
{'id':2,'winner':'smh','age':'19930330','take_on':'rapper'},
{'id':3,'winner':'lsx','age':'19920111','take_on':'rapper'},
{'id':7,'winner':'lsx','take_on':'rap'},
{'id':3,'winner':'lsx','age':'44444444'},
{'winner':'lsx','age':'19920111','take_on':'rap'},
{'id':1,'winner':'jqy','age':'19910926','take_on':'vocal'},
])
print(df)## 得到原始的DataFrame数据
一、填补空值
fi_values = {'id': 4444, 'age': 44}
df.fillna(value=fi_values,inplace=True)
print(df)## type(df.loc[6,'age'])#为int
## 在id这一列,用4444替代为空的元素;在age这一列,用44替代为空的元素
df.fillna(method='ffill',inplace=True)
## method = 'bfill'## 用后一个非缺失值填补缺失值
print(df)## 用该列紧邻的上方的元素替代下方为空的元素
df.fillna('',inplace=True)
print(df)## 用''替代为空的元素
二、去重(包括所有列,个别列)
## 默认全部列都参与;若出现重复的行,默认保留第一个出现的行;
df.drop_duplicates(inplace = True)
print(df)## 查看全部行是否存在重复的行,删除重复的行
df.drop_duplicates(['winner','take_on'],inplace = True,keep = "first")
print(df)## 选定'winner'和'age'这两列;若出现重复的行,保留第一个出现的行;
## 注意筛选的是一个列表,无论列表中是否只有一个元素
df.drop_duplicates(['winner'],inplace = True,keep = "last")
print(df)## 选定'winner'和'age'这两列;若出现重复的行,保留最后一个出现的行;
三、重新设置索引
df.reset_index(inplace = True,drop = True)
print(df)## 行索引的重新排序
df.reset_index(inplace = True)
print(df)## 行索引的重新排序,并另取一列表示索引#df['index']
四、选择自己需要的列
df = df[['index','winner','age']]
print(df)## 行索引的重新排序,并另取一列表示索引#df['index']
#del df['age'],df['id']## 删除不要的列
五、重命名DataFrame的列名称
df.columns = ['id','name','age']
print(df)## 暴力修改法
df.rename(columns = {'id':'re_id'}, inplace=True)
print(df)## 温和修改法
六、保存为excel文件
df.to_excel('winner.xlsx',index = False)
#df.to_csv('winner.csv',index = False)