首页/文章/ 详情

ANSA二次开发_Python基础-pandas模块-批量创建材料

6月前浏览3900
Pandas 是一个开源的 Python 数据分析库,提供了高性能、易用的数据结构和数据分析工具。Pandas 使得在 Python 中进行数据清洗、分析、和可视化变得更加快捷和简单。它是基于 NumPy 构建的,使得数据操作和分析工作对于有着不同背景的人们都易于上手。但是在ANSA开发中使用较少。拿来解析xlsx还是挺方便的,但还是建议使用ANSA提供的API解析。
案例:批量创建材料


















import ansafrom ansa import basefrom ansa import constants
import pandas as pd
df = pd.read_excel('C:\\Users\\jintian\\Documents\\mat.xlsx')
for index, row in df.iterrows():  if not row.isnull().all():        row_dict = {                    'Name': row['Name'],                    'E': row['E'],                    'NU': row['NU'],                    'RHO': row['RHO'],                    'DEFINED':'YES'                    }        base.CreateEntity(constants.NASTRAN, 'MAT1', row_dict)


Pandas 主要有两种类型的数据结构:

  • Series:一维数组,与 NumPy 的数组类似,但它可以有一个索引。索引可以是数字,也可以是标签。

  • DataFrame:二维的表格型数据结构,可以看作是由多个 Series 组成的字典(共用同一个索引)。


Pandas 强大的功能包括但不限于:

  • 快速高效地处理大量数据

  • 读取和写入各种格式的数据,包括 CSV、Excel、SQL 数据库和 HDF5 格式

  • 数据清洗功能,如处理缺失数据、数据过滤、数据转换等

  • 数据合并、分组、重塑

  • 时间序列分析


Pandas 经典使用案例


1. 数据读取和预览:






import pandas as pd# 读取 CSV 文件df = pd.read_csv('data.csv')# 预览前五行数据print(df.head(5))


2. 数据清洗

数据清洗是数据分析中的重要步骤。Pandas 提供了多种数据清洗的工具,例如处理缺失值:




# 填充缺失值df.fillna(0, inplace=True)# 删除含有缺失值的行df.dropna(inplace=True)


3. 数据筛选

Pandas 允许使用条件逻辑来筛选数据:




# 筛选 'age' 列大于 30 的所有行filtered_df = df[df['age'] > 30]# 筛选 'age' 大于 30 并且 'gender' 为 'male' 的行filtered_df = df[(df['age'] > 30) & (df['gender'] == 'male')]


4. 数据分组和聚合

Pandas 的 groupby 功能非常强大,可以用来对数据集进行分组和聚合操作:



# 按 'gender' 分组并计算每组的平均 'age'grouped_df = df.groupby('gender')['age'].mean()print(grouped_df)


5. 数据合并

Pandas 提供了多种数据合并的方法,如 concat、merge 和 join:


# 假设有两个 DataFrame,df1 和 df2merged_df = pd.merge(df1, df2, on='key_column')


Pandas 是 Python 数据分析的核心库之一,提供了强大的数据处理能力,前处理中常规开发使用较少,后处理numpy与pandas搭配使用使得数据分析工作变得更加高效。

来源:FEAer
Nastran二次开发ANSApythonUM材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-04-28
最近编辑:6月前
FEAer
本科 | CAE工程师 到点就下班的CAE打工人
获赞 72粉丝 98文章 80课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈