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(值) # 所有列 第二行全部映射
}
]
posted @   aall_blue  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示