Series
Ⅰ.创建Series
1.列表
# 通过常规的python列表来构造一个series
ser1 = pd.Series(['a', 'b', 'c', 'd'])
ser1
2.字典
# 通过字典来构造Series:
dic = {'name': 'woniu', 'age': 18, 'location': 'chengdu'}
ser = pd.Series(dic)
ser
#相关操作
ser.index
ser.values
ser1.index[1:3]
Ⅱ.修改索引的值
#直接通过index修改
ser1.index = ['one', 'two', 'three', 'four']
ser1
#但是不支持部分修改值
Ⅲ.修改value的值
# 修改values
ser1.values = [1,2,3,4]
# 修改series中的values值,必须先选择值,再修改值
# 选择series值有两种方式
# 1. 通过列表切片语法选择值
ser1[:] = [1,2,3,4]
# 2. 通过index来选择值
ser1['two'] = 'school'
# 通过index来选择多个值
ser1[['one', 'two']] = ['马云', '马化腾']
DataFrame
Ⅰ.创建Series
1.列表
df = pd.DataFrame(['a', 'b', 'c', 'd'])
df
2.嵌套列表
df = pd.DataFrame([['one', 'a', 1], ['two', 'b'], ['three', 'c'], ['four', 'd']])
df
3.字典
dic = {'小写': ['a', 'b', 'c', 'd', 'e'], '大写': ['A', 'B', 'C', 'D', 'E']}
df = pd.DataFrame(dic)
df
4.指定行、列
# 指定行标签和列标签
df = pd.DataFrame([['one', 'a', 1], ['two', 'b',2], ['three', 'c', 3], ['four', 'd', 4], ['one', 'a', 5]],
index=['A', 'B', 'C', 'D', 'E'],
columns = ['第一列', '第二列', '第三列'])
df
5.相关操作
print(df.index)
print(df.columns)
print(df.values)
Ⅱ.修改DataFrame的元素
1.修改指定的行标签和列标签:rename
# 修改指定的行标签和列标签
df.rename(index={'line2': '行2'}, inplace=True) # inplace原地修改
2.修改行标签index和列标签columns
# 如何修改行标签index和列标签columns
df.index = ['line1', 'line2', 'line3', 'line4']
df.columns = ['column1', 'column2']
Ⅲ.常见的dataframe的属性值
print(df.shape) # 查看dataframe的维度信息(形状)
print(df.index) # 查看dataframe的index值行标签
print(df.columns) # 查看dataframe的列标签
print(df.values) # 查看dataframe的值
# print(df.T) # 行列转置(矩阵运算)
print(df['第一列']) # 只显示指定列的值
print(df['第一列'].value_counts()) # 统计指定列的不同元素的个数,空值NaN不计算在内
print(df['第一列'].unique()) # 查看指定列的不重复元素
print(df['第一列'].nunique()) # 返回指定列不重复元素的个数
print(df.nunique()) # 显示每一列不重复元素的个数
df.describe() #描述dataframe的基本情况,针对数值型的列才有效
df.info() # 查看每列的数据类型及数据量
df.head(3) # 显示指定前n行的数据,默认是前5行
df.tail(3)
faker
from faker import Faker
faker生成个人信息
faker = Faker('zh_CN')
print(faker.profile())