import pandas as pd
Data = pd.read_csv('Data.csv',sep=',',dtype=object)
链接: link
head() 函数:返回前n行的dataframe。默认参数为5
import pandas as pd
Data = pd.read_csv('Data.csv',sep=',',dtype=object)
print(Data.head(6))
print(Data.tail())
shape函数的作用是查看行数和列数。
import pandas as pd
Data = pd.read_csv('Data.csv',sep=',',dtype=object)
print(Data.shape)
(1)loc[]函数:按标签取数据
loc[行索引,列名/column](如果第二个参数的个数是全部即 : ,可以省略不写)。
print(Data.loc[1,'name']) # 索引1(行),名为‘name’的列
(2)iloc[]函数:按位置索引取数据
iloc[行索引,列索引](没有逗号及以后就是默认列为所有列)
print(Data.iloc[1,0]) # 第2行第1列的值
print(Data.iloc[-5:,[0,2,4,6]]) # 最后5行第1,3,5,7列的值
any () 函数用于判断给定的可迭代参数 iterable 是否都为 False,如果是,any ()操作后的结果返回 False,如果给定的可迭代参数 iterable其中有一个为 True,any ()操作后的结果则返回 True。
axis=0:方向沿着列;axis=1方向沿着行,默认axis=0
print(Data.isna().any())
print(Data.isna().any(axis=0))
print(Data.isnull().any(axis=0))
value_counts() :返回一个序列 Series,该序列包含每个值的数量。i.e. 对于数据框中的任何列,value-counts () 方***返回该列每个项的计数。
参数:
normalize = True :返回的对象将包含各个值的相对频率(默认False)
ascending = True:升序(默认False)
dropna = False:对无效值进行计数(默认True)
print(Data.Language.value_counts())
print(Data.Language.nunique())
print(Data.Language.tolist())
当q=0.25 0.5 0.75 时,就是在计算四分位数。
print(Data.iloc[:,[2,6]].quantile(0.25))
由于这是一个字符串方法,因此必须在每次调用.str之前添加前缀。否则会产生错误。
print(Data['Name'].str.len())
DataFrme.dropna(axis=0,how=’any’,thresh=None,subset=None,inplace=False)
参数:
axis: 默认axis=0。0为按行删除,1为按列删除
how: 默认 ‘any’。 ‘any’指带缺失值的所有行/列; 'all’指清除一整行/列都是缺失值的行/列
thresh: int,保留含有int个非nan值的行
subset: 删除特定列中包含缺失值的行或列
inplace: 默认False,即筛选后的数据存为副本,True表示直接在原数据上更改
print(Data.dropna())
df.fillna(a)
其中:参数a表示的是常数或字典,若a为常数,则用常数a填充缺失值,若a为字典,则表示第key列的缺失值用key对应的value值填充,如:df.fillna({0:10,1:20}),表示用10去填充第0列的缺失值,用20去填充第1列的缺失值;
inplace为可选参数,默认为False,表示不修改原对象,若指定inplace=True,则直接修改原对象。
fillna()函数的返回值:若指定inplace=True,则函数返回值为None,若未指定,则函数返回填充缺失值后的数据。
Data.fillna({'Graduate_year':2022, 'Language':'Python',
'Achievement_value':Data.Achievement_value.mean().round(0)}, inplace=True)
res = Data.fillna({'Graduate_year':2022, 'Language':'Python',
'Achievement_value':Data.Achievement_value.mean().round(0)})
当两条记录中所有的数据都相等时duplicated函数才会判断为重复值
duplicated支持从前向后(first),和从后向前(last)两种重复值查找模式
默认是从前向后进行重复值的查找和判断,也就是后面的条目在重复值判断中显示为True
参数
subset: 列标签
keep: {‘first’, ‘last’, False}, 默认值 ‘first’
first: 保留第一次出现的重复项。
last: 删除重复项,仅保留最后一次出现的重复项
False: 删除所有重复项
inplace:布尔值,默认为False,是否删除重复项或返回副本
print(Data.duplicated())
print(Data.duplicated(subset=None, keep='first'))
Data.duplicated().sum() #计算有多少个重复值
print(Nowcoder.drop_duplicates())
to_datetime(data,error = ‘raise’,format=None)
data:输入
errors:错误数据处理
format:日期格式
import pandas as pd
Data = pd.read_csv('Data.csv',sep=',',dtype=object)
Data['Time'] = pd.to_datetime(Data['Time'],format='%Y-%m-%d')
Data['Time'] = pd.to_datetime(Data['Time'],format='%Y-%m-%d %H:%M:%S')
#to_datetime默认有时间精度,.dt.date去掉分钟,得到日期列表
b['date'] = pd.to_datetime(Data.date).dt.date
# 将json文件转换为表格形式
import pandas as pd
import json
with open('Nowcoder.json', 'r') as f:
data = json.loads(f.read())
print(pd.DataFrame(data))
链接: link
group = Data.groupby("company")
print(Data.describe())