Pandas笔记
基本操作
创建DataFrame
def createDataframe(student_data: List[List[int]]) -> pd.DataFrame:
column_names = ["student_id", "age"] # 列名
result_dataframe = pd.DataFrame(student_data, columns=column_names)
return result_dataframe
获取 DataFrame 的大小
shape[0]表示行数,shape[1]表示列数
def getDataframeSize(players: pd.DataFrame) -> List[int]:
return [players.shape[0], players.shape[1]]
获取前n行
def selectFirstRows(employees: pd.DataFrame) -> pd.DataFrame:
return employees.head(3)
选取指定的行
loc[]表示根据标签索引(参数1:筛选条件,参数2:返回列),iloc[]表示根据下标索引
def selectData(students: pd.DataFrame) -> pd.DataFrame:
return students.loc[students["student_id"]==101, ["name", "age"]]
修改列
def modifySalaryColumn(employees: pd.DataFrame) -> pd.DataFrame:
employees['salary'] *= 2
return employees
创建新列
def createBonusColumn(employees: pd.DataFrame) -> pd.DataFrame:
employees['bonus']=employees['salary']*2
return employees
删除重复的行
drop_duplicates 函数参数定义:
subset:此参数标识重复行时要考虑的列标签或标签序列。如果未提供,它将处理 DataFrame 中的所有列。
keep:此参数确定要保留的重复行。
'first': (默认) 删除除第一个匹配项以外的重复项。
'last': 删除除最后一个匹配项之外的重复项。
False: 删除所有重复项。
inplace: 如果设置为 True,则直接对对象进行更改,而不返回新的对象。如果设置为 False(默认),则返回丢弃重复的新对象。
def dropDuplicateEmails(customers: pd.DataFrame) -> pd.DataFrame:
customers.drop_duplicates(subset="email", keep="first", inplace=True)
return customers
def dropDuplicateEmails(customers: pd.DataFrame) -> pd.DataFrame:
return customers.drop_duplicates(subset="email", keep="first", inplace=False)
删除丢失的数据
dropna 函数参数定义:
axis: 它可以是 {0 or 'index', 1 or 'columns'}。默认为 0。如果 axis=0,则丢弃包含缺失值的行;如果 axis=1,则丢弃包含缺失值的列。
how: 确定当我们至少有一个 NA 或全部 NA 时,是否从 DataFrame 中删除行或列。
how='any': 如果存在任何 NA 值,则删除该行或列(默认)。
how='all': 如果所有值都为 NA,则删除该行或列。
thresh: 需要多少非 NA 值。这是一个整型参数,需要最小数量的非 NA 值才能保留行/列。
subset: 要考虑的另一个轴上的标签,例如,如果您正在删除行,则这些标签将是要包括的列的列表。当您只想考虑某些列中的 NA 值时,这特别有用。
inplace: 同上
def dropMissingData(students: pd.DataFrame) -> pd.DataFrame:
return students.dropna(axis=0, how='any', subset=["name"] ,inplace=False)
标签:return,入门,NA,employees,DataFrame,pd,Pandas,def
From: https://www.cnblogs.com/linyf49/p/18262667