pandas 导入excel_用Excel做数据?你out了!

点击蓝字关注我们

2287027fa859ff300be64661f37a7552.png

      用Excel做数据?你out了!

我们都在用Python ^_^

十年前,你说你是做数据的,大家的反应就是——用Excel做做表。

现在,要成为一个合格的数据分析师,你说你不会Python,大概率会被江湖人士耻笑。

Medium上一位博主就分享了他一步步用Python替换掉十年前的“老情人”Excel的过程,一起来学习一下吧!

GitHub链接:

https://github.com/ank0409/Ditching-Excel-for-Python

3192a7cf39b2f6407c882eb14e41026f.gif

一、将excel文件导入Panda DataFrame

首先,为了方便我们后续处理数量,我们先将excel文件导入DataFrame,我将演示支持xls和xlsx文件扩展名的Pandas的read_excel方法。read_csv与read_excel相同,这里就不做深入讨论了。

尽管read_excel方法包含数百万个参数,但我们只讨论那些在日常操作中最常见的那些。

我们使用Iris样本数据集,出于教育目的,该数据集可在线免费使用。

请按照以下链接下载数据,并将其放在与存储Python文件的同一文件夹中。

https://archive.ics.uci.edu/ml/datasets/iris

No.1

第一步是在Python中导入库

9831721bf1ea5427e5d18f29a80c785b.png

可以使用以下代码将电子表格数据导入Python:

pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, parse_cols=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds)

No.2

一些重要的Pandas read_excel选项

5364cdc8940365f5c8f8c48c32199924.png

如果默认使用本地文件的路径,用“”表示,接受用“/”表示,更改斜杠可以将文件添加到Python文件所在的文件夹中。如果需要有关上述内容的详细说明,请参阅以下文章。

https://medium.com/@ageitgey/Python-3-quick-tip-the-easy-way-to-deal-with-file-paths-on-windows-mac-and-linux-11a072b58d5f

用Python扫描目录中的文件并选择想要的:

d102b53de9c8843bb8df3c3b983f1d81.png

No.3

导入表格

默认情况下,文件中的第一个工作表将按原样导入到数据框中。

使用sheet_name参数,可以明确要导入的工作表。文件中的第一个表默认值为0。可以用工作表的名字,或一个整数值来当作工作表的index。

1a86998928c54b6c4a6a39c1032763da.png

No.4

使用工作表中的列作为索引

除非明确提到,否则索引列会添加到DataFrame中,默认情况下从0开始。

使用index_col参数可以操作数据框中的索引列,如果将值0设置为none,它将使用第一列作为index。

aaf7a5f7b618fb4708d9f7add4744834.png

No.5

略过行和列

默认的read_excel参数假定第一行是列表名称,会自动合并为DataFrame中的列标签。使用skiprows和header之类的函数,我们可以操纵导入的DataFrame的行为。

a0cbf963ae242480961aaabff59c271e.png

No.6

导入特定列

使用usecols参数,可以指定是否在DataFrame中导入特定列。

14c50d940009c04a35e0b2558ec1ee43.png 3192a7cf39b2f6407c882eb14e41026f.gif

二、查看数据的属性

现在我们有了DataFrame,可以从多个角度查看数据了。Pandas有很多我们可以使用的功能,接下来将使用其中一些来看下我们的数据集。

No.1

从“头”到“尾”

查看第一行或最后五行。默认值为5,也可以自定义参数。

935b071ef13432f463a0265ee8fc042e.png

No.2

查看特定列的数据

4afd1b56a9b3ae78cb26a0e8f0da6e6c.png

No.3

查看所有列的名字

35afdff0a484259925022da3163bf6f4.png

No.4

查看信息

查看DataFrame的数据属性总结:

227e8337b6b4e905e08d9171a14045e2.png

No.5

返回到DataFrame

c7a4126eeb28ad934a2b1cfcb8391f48.png

No.6

查看DataFrame的数据类型

07200c84849e5a3dcfc736949c7a2489.png 3192a7cf39b2f6407c882eb14e41026f.gif

三、分割:Excel过滤器

描述性报告是关于数据子集和聚合的,当需要初步了解数据时,通常使用过滤器来查看较小的数据集或特定的列,以便更好的理解数据。

Python提供了许多不同的方法来对DataFrame进行分割,下面我将介绍使用它们中的几个功能。

No.1

查看列

包括以下三种主要方法:

使用点符号:例如data.column_name

使用方括号和列名称:数据[“COLUMN_NAME”]

使用数字索引和iloc选择器:data.loc [:,'column_number']

8fc1e0193ca3711b8e81825585f46dfe.png

No.2

查看多列

97665defbc8d9ca4936090b77f32476c.png

No.3

查看特定行

这里使用的方法是loc函数,其中我们可以指定以冒号分隔的起始行和结束行。注意,索引从0开始而不是1。

46b5505d8525c7298b007d487092ac03.png

No.4

同时分割行和列

7d534afc8e2e1e9070647df25dde45b4.png

No.5

在某列中筛选

be7b69f0ca7722ac4364b01b84300433.png

No.6

筛选多种数值

fc1f56afcc2835be76cbd29420cedb92.png

No.7

用列表筛选多种数值

846731db822aa92656cfd2ffc4aff612.png

No.8

筛选不在列表或Exel中的值

3e818dd89aa1bffc4e20118f2dc034e3.png

No.9

用多条件筛选多列数据

965a347805a853c53914f7fcd070a8ea.png

No.10

根据数字条件过滤

d53bc91e387e298d5a6a725cbb3331a0.png

No.11

在Excel中复制自定义的筛选器

729b543fb8adcd116d50d15bb5c457bb.png

No.12

合并两个过滤器的计算结果

1ce88219a3f55f535fd30fae714c324d.png

No.13

从DataFrame获取特定的值

db18538736c459f1792a090f0c8aeb79.png

如果想要用特定值查看整个DataFrame,可以使用drop_duplicates函数:

b33ee92b4332f7a9b3f45ef5b26d6227.png

No.14

排序

对特定列排序,默认升序:

baeaa6ee1ac600fa09419c096f5be6d9.png

以上我们主要讲了数据的导入和查看以及筛选,希望能够对大家有所帮助,下次见面由我在我大家介绍Python中的统计功能、数据计算功能以及DataFrame中的数据透视表功能和Vlookup函数,期待下次再见!

00c462a94ce1d16680462746ff244d87.png

扫码关注我们

### 回答1: 以下是一个简单的示例代码,用于使用PythonExcel表格数据预处理并将其导入到RNN中进训练: 首先,您需要使用Python中的pandas库读取Excel文件并将其转换为pandas dataframe: ``` python import pandas as pd # 读取Excel文件 df = pd.read_excel("path/to/your/excel/file.xlsx") ``` 接下来,您需要对数据预处理。这可能包括删除无用的列,填充缺失的值,对数据归一化或标准化等等。下面是一些常见的数据预处理方法: ``` python # 删除无用的列 df = df.drop(columns=["column_name"]) # 填充缺失的值 df = df.fillna(0) # 对数据归一化或标准化 from sklearn.preprocessing import MinMaxScaler, StandardScaler # 归一化 scaler = MinMaxScaler() df = pd.DataFrame(scaler.fit_transform(df), columns=df.columns) # 标准化 scaler = StandardScaler() df = pd.DataFrame(scaler.fit_transform(df), columns=df.columns) ``` 最后,您需要将数据转换为适合RNN训练的形式。这可能包括将数据划分为输入序列和输出序列,设置训练批次大小和时序长度等等。下面是一个示例代码: ``` python import numpy as np # 将数据划分为输入序列和输出序列 def split_sequence(sequence, n_steps_in, n_steps_out): X, y = [], [] for i in range(len(sequence)): # 获取输入和输出序列 end_ix = i + n_steps_in out_end_ix = end_ix + n_steps_out # 检查序列是否超出了数据范围 if out_end_ix > len(sequence): break # 从序列中提取输入和输出 seq_x, seq_y = sequence[i:end_ix], sequence[end_ix:out_end_ix] X.append(seq_x) y.append(seq_y) return np.array(X), np.array(y) # 设置训练批次大小和时序长度 batch_size = 32 n_steps_in = 60 n_steps_out = 1 # 将数据转换为适合RNN训练的形式 data = df.to_numpy() X, y = split_sequence(data, n_steps_in, n_steps_out) X = X.reshape((X.shape[0], n_steps_in, X.shape[2])) y = y.reshape((y.shape[0], y.shape[1])) ``` 现在您已经准备好将数据导入RNN进训练了。根据您选择的深度学习框架,您需要编写相应的代码来构建和训练RNN。 ### 回答2: import pandas as pd import numpy as np from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, LSTM # 读取excel数据 data = pd.read_excel('data.xlsx') # 数据预处理 # 去除缺失值 data.dropna(inplace=True) # 特征选择 features = data[['feature1', 'feature2', 'feature3']] target = data['target'] # 特征标准化 scaler = StandardScaler() features_scaled = scaler.fit_transform(features) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(features_scaled, target, test_size=0.2, random_state=0) # 定义RNN模型 model = Sequential() model.add(LSTM(units=32, activation='relu', input_shape=(X_train.shape[1], 1))) model.add(Dense(units=1)) # 编译模型 model.compile(optimizer='adam', loss='mse') # 对特征数据维度转换 X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1)) X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1)) # 训练模型 model.fit(X_train, y_train, epochs=10, batch_size=32) # 使用模型预测 predictions = model.predict(X_test) # 评估模型准确性 mse = model.evaluate(X_test, y_test) # 打印均方误差 print("均方误差:", mse) ### 回答3: 对于使用PythonExcel表格数据预处理并导入RNN,可以采用以下步骤。 首先,需要导入所需的Python库。一般情况下,需要使用`pandas`库来读取和处理Excel数据,`numpy`库进数据处理,以及`tensorflow`或`keras`库来构建和训练RNN模型。 接下来,使用`pandas`库的`read_excel`函数来读取Excel数据。通过指定文件路径和表格的名称,读取数据并存储在一个DataFrame对象中。 对于数据预处理部分,可以使用`pandas`库提供的各种函数和方法来处理数据。例如,可以使用`dropna()`函数去除包含空值的或列,使用`fillna()`函数填充缺失值,或使用`apply()`函数对数据特定的处理等。 在进数据预处理之后,可以使用`numpy`库的数组操作功能将DataFrame对象转换为Numpy数组。这一步可以通过调用`to_numpy()`函数来实现。 接下来是导入和构建RNN模型部分。如果使用`tensorflow`库,可以使用其提供的`tf.keras`模块来构建模型。通过选择合适的RNN层(如LSTM、GRU等)、添加适当的层和激活函数,构建一个适用于预测任务的模型。 在构建RNN模型之后,需要将预处理后的数据划分为训练集和测试集。可以使用`train_test_split()`函数将数据集分为两部分,并将数据集转换为模型所需的输入和输出格式。 接下来,可以使用`fit()`函数对模型进训练。通过指定训练数据和测试数据选择优化器和损失函数,以及定义其他相关参数,来对模型进训练。 最后,可以使用训练好的模型对新的数据预测。通过调用`model.predict()`函数,并传入待预测的数据,可以得到模型的预测结果。 综上所述,这些步骤构成了对Excel表格数据预处理并导入RNN的Python代码。根据具体的需求和数据情况,可能需要结合其他的Python库和方法来完成特定的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值