本文主要是介绍Pandas Series+DateFrame数据类型基础操作 与 Python中复杂数据类型转换关系,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Series
import pandas as pd
# 1)直接读取列表数据
s1 = pd.Series([1, 'a', 3.3, 66])
s1.index # 查看索引
s1.values # 获取值
# 2)指定索引读取
s2 = pd.Series([1, 'a', 5.2, 44], index=['a', 'b', 'c', 'd'])
# 3)Python字典创建Series,key为索引 即index行索引,value为值
data_dict = {'area': '北京', 'teaw': 222, 'form': 'lama'}
s3 = pd.Series(data_dict)
s2.a # 根据索引查询数据 查询索引为a 获取索引为a的值
s2[['b', 'a']] # 获取多值,注意为2层中括号获取多个数据
DataFrame
# 1)根据字典序列创建dataframe:
data = {
'state': ['oli', 'awfe', 'wefa'],
'year': [222, 314, 4314],
'pop': [1.2, 3.2, 2.2]
}
df = pd.DataFrame(data)
column = df['year'] # 查询一列
multi_column = df[['year', 'pop']] # 查询多列
df.loc[1] # 查询一行 使用df.loc[行索引]查询一条数据
df.loc[0:3] # 查询多行 0到3为一个区间
df['列'].unique() # 去重
# 2)复杂嵌套数据类型转换为dateframe输出为excel或csv文件
# 范例数据
data = {
'status_name': '在用',
'devsite_alias': '',
'data': [{
'pollutant_id': 199054,
'values': [{
'qc_datetime': '2022-02-28 11:00:00',
'qc_value': 0.02533
}]
}]
}
# 调用json_normalize方法
df = json_normalize(data,
record_path=['data', 'values', ], # 包含数据层数 意思为data下面的values
# 指定其他未显示的字段 指定一层数据 和 多层嵌套数据
meta=[
'status_name',
'devsite_alias',
['data', 'pollutant_id'], ] # 意思为data下面的pollutant_id 一个列表为一个数据 其他嵌套数据指定在后面的列表汇总即可
)
# meta中指定嵌套数据会自动将列名修改为data.pollutant_id 修改列名为原列名pollutant_id,inplace=True不换位置
df.rename(columns={'data.pollutant_id':'pollutant_id'} ,inplace=True) # 原地 修改列名操作
# 3)DateFrame转换字典
DataFrame.to_dict(self, orient='dict', into=)
# 3.1)orient = 'dict' # 函数默认,转化后的字典形式
{
column(列名) :{index(行名):value(值), index(行):value(值)},
column(列名) :{index(行名):value(值), index(行):value(值)},
}
# 3.2)orient = 'list'# 转化后的字典形式
{
column(列名): Series(values)[1, 2, 3],
column(列):Series(values)[1, 2, 3],
}
# 3.3)orient = 'split' 转换后的字典形式
{
'index' : [index],'columns':[columns],'data': [values]}
}
# 3.4)orient = 'records' 转换后的list形式 注意这里返回值为列表
data = [
{
column(列名):value(值),
column(列名):value(值) # 所有列 第一行全部映射
},
{
column(列名):value(值),
column(列名):value(值) # 所有列 第二行全部映射
}
]
这篇关于Pandas Series+DateFrame数据类型基础操作 与 Python中复杂数据类型转换关系的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!