任务一:将numpy和pandas讲明白
numpy:
一维数组:
numpy.array()
a.mean()
a.std()
a**2
a + b
a.dtype
a[1:3]
import numpy as np
# 创建一维数组
a = np.array([1, 2, 3, 4, 5])
# 计算一维数组的均值
mean = a.mean()
print("一维数组的均值:", mean)
# 计算一维数组的标准差
std_dev = a.std()
print("一维数组的标准差:", std_dev)
# 对一维数组中的每个元素进行平方
squared = a**2
print("一维数组每个元素的平方:", squared)
# 与另一个一维数组相加
b = np.array([5, 4, 3, 2, 1])
addition = a + b
print("两个一维数组的加法结果:", addition)
# 获取一维数组的数据类型
data_type = a.dtype
print("一维数组的数据类型:", data_type)
# 选取一维数组的子数组,包括索引1到索引2的元素(不包括索引2)
sub_array = a[1:3]
print("选取的子数组:", sub_array)
二维数组:
numpy.array()
a.mean()
a.std()
a.mean(axis == 0):对列求均值
a.mean(axis == 1):对行求均值
a[1:3,2:4]
import numpy as np
# 创建一个示例的二维NumPy数组
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
# 计算整个数组的均值
mean = a.mean()
print("全局均值:", mean)
# 计算整个数组的标准差
std_dev = a.std()
print("全局标准差:", std_dev)
# 沿着每列计算均值
column_means = a.mean(axis=0)
print("每列的均值:", column_means)
# 沿着每行计算均值
row_means = a.mean(axis=1)
print("每行的均值:", row_means)
# 选取子数组,从第1行到第2行,第2列到第3列的区域
sub_array = a[1:3, 2:4]
print("选取的子数组:")
print(sub_array)
我们的GRU程序中能用到的关于numpy的指令是:
np.empty((0,19),int)
np.hstack((np.ones(starttime,np.int64)*0,np.ones(endtime-starttime,np.int64)*faulttype))
np.vstack((seq_data,d))
np.argmax (forecasttestY)
np.array(data)
np.concatenate(forecasttestY, axis=0)
**pandas篇**:
Pandas特别是在处理结构化数据时非常有用。
pandas和numpy的区别:Pandas创建的一维数组可用index来指定索引,这样,访问时就可以通过索引来访问数组(Pandas的一维数组与Numpy的区别是,Pandas的有索引,Numpy的没有索引)。
Pandas有两种数据结构,Series和DataFrame,其中Series是一个一维数据,DataFrame是一个二维数据。
数据加载和保存:Pandas可以轻松地从多种数据源加载数据,包括CSV文件、Excel文件、SQL数据库、JSON文件等,并可以将数据保存为这些格式。
![在这里插入图片描述](https://img-blog.csdnimg.cn/ea52ac89177142aaaa0e0a2e6db9b647.png)
上述是比较常见的几种Pandas的用法。
示例:
```python
以下是一些常用的Pandas操作的代码示例:
```python
import pandas as pd
# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'Age': [25, 30, 35, 28, 22],
'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago', 'Boston']}
df = pd.DataFrame(data)
# 显示DataFrame的前几行
print(df.head())
# 获取DataFrame的基本信息,包括列数、非空值数量、数据类型等
print(df.info())
# 获取DataFrame的统计摘要信息,包括均值、标准差、最小值、最大值等
print(df.describe())
# 选择一列数据
ages = df['Age']
print(ages)
# 过滤行数据
young_people = df[df['Age'] < 30]
print(young_people)
# 对DataFrame进行排序
sorted_df = df.sort_values(by='Age', ascending=False)
print(sorted_df)
# 添加新列
df['Salary'] = [60000, 75000, 80000, 55000, 50000]
print(df)
# 删除列
df = df.drop('City', axis=1)
print(df)
# 计算列的均值
average_age = df['Age'].mean()
print("平均年龄:", average_age)
# 使用groupby进行分组和汇总
grouped = df.groupby('City')
city_averages = grouped['Salary'].mean()
print(city_averages)
# 保存DataFrame到CSV文件
df.to_csv('data.csv', index=False)
# 从CSV文件加载DataFrame
loaded_df = pd.read_csv('data.csv')
print(loaded_df)
这些代码示例演示了如何使用Pandas进行常见的数据操作,包括创建DataFrame、数据查看、基本信息获取、描述性统计、列选择、行过滤、排序、列添加与删除、均值计算、分组和保存/加载数据等操作。Pandas是一个非常强大的数据处理工具,适用于数据分析、数据清洗、特征工程等各种数据处理任务。根据实际需求,你可以进一步探索Pandas的功能以进行更复杂的数据操作。
关于我们程序中使用的pandas命令:
pd.DataFrame(data)
pd.read_excel('W.xlsx')
df.to_excel(excel_file, index=False)
dataframe.values
任务二:Sequential()讲明白
keras中除了sequential外还有函数式API和子类API
函数式API的格式:
from tensorflow.keras.layers import Input, Dense, concatenate
from tensorflow.keras.models import Model
# 定义多个输入
input1 = Input(shape=(input_dim1,))
input2 = Input(shape=(input_dim2,))
# 创建模型的中间层
hidden1 = Dense(64, activation='relu')(input1)
hidden2 = Dense(64, activation='relu')(input2)
# 将中间层连接到输出层
merged = concatenate([hidden1, hidden2])
output = Dense(10, activation='softmax')(merged)
# 构建模型
model = Model(inputs=[input1, input2], outputs=output)
子类API:
```python
import tensorflow as tf
class CustomModel(tf.keras.Model):
def __init__(self):
super(CustomModel, self).__init__()
self.dense1 = tf.keras.layers.Dense(64, activation='relu')
self.dense2 = tf.keras.layers.Dense(10, activation='softmax')
def call(self, inputs):
x = self.dense1(inputs)
return self.dense2(x)
model = CustomModel()
任务三:from tensorflow.keras.layers,keras和layers中都有哪些库可以用
官网:keras.layers:https://keras.io/api/layers/
这里面包含了keras下所有可以调用的layer
任务四:os干嘛的吗,举例子
经常要对大量文件和大量路径进行操作,这就依赖于os模块,
os.path.dirname(file) 获取当前文件的所在路径
os.getcwd()——得到当前工作的目录。
os.name()——判断现在正在实用的平台,Windows 返回 ‘nt‘; Linux 返回’posix‘
os.listdir()——指定所有目录下所有的文件和目录名。
os.remove()——删除指定文件
os.rmdir()——删除指定目录
os.mkdir()——创建目录注意:这样只能建立一层,
os.makedirs()——递归建立目录
os.path.isfile()——判断指定对象是否为文件。是返回True,否则False
os.path.isdir()——判断指定对象是否为目录。是True,否则False
os.path.exists()——检验指定的对象是否存在。是True,否则False
os.path.split()——返回路径的目录和文件名。
os.system()——执行shell命令。
os.chdir()——改变目录到指定目录
os.path.getsize()——获得文件的大小,如果为目录,返回0
os.path.abspath()——获得绝对路径。
os.path.join(path, name)——连接目录和文件名。
更多请看:https://www.cnblogs.com/insane-Mr-Li/p/9153394.html