本文共 941 字,大约阅读时间需要 3 分钟。
数据应用相对练习
以下是基于Numpy和Pandas的数据操作演练步骤:
1. 创建包含3行5列的DataFrame对象,数值范围在1-8之间
首先,我们在环境中导入必要的库:import numpy as np import pandas as pd
接下来,创建一个3行5列的随机整数数据并生成DataFrame:
df1 = pd.DataFrame(np.random.randint(1, 8, (3,5)))
这将生成如下数据表:
0 | 1 | 2 | 3 | 4 | |
---|---|---|---|---|---|
2 | 1 | 5 | 2 | 5 | |
2 | 6 | 4 | 2 | 5 | |
2 | 7 | 1 | 5 | 6 |
2. 按照列表'a','b','a'进行行分组
根据指定的列表进行分组:df1_1 = df1.groupby(['a', 'b', 'a'])
执行后,结果将被划分为以下分组:
('a', 0, 1, 2, 3, 4)
('a', 1, 2, 3, 4)('a', 2, 1, 2, 3, 4)3. 为每个元素加1
对数据框中的每个元素执行加1操作:df1_1 = df1_1.apply(lambda x: x + 1)
此次操作后的结果如下:
0 | 1 | 2 | 3 | 4 | |
---|---|---|---|---|---|
3 | 2 | 6 | 3 | 6 | |
3 | 7 | 5 | 3 | 7 | |
3 | 8 | 2 | 4 | 8 |
4. 将每个元素加上其所在列的和
首先计算 DataFrame 的总和:sum_columns = df1.sum() # 列的总和
结果:
0: 611:1422:1033:944:16然后对每个元素加上对应列的和:
df1_1 = df1_1.apply(lambda x: x + df1.sum())
最终表格为:
0 | 1 | 2 | 3 | 4 | |
---|---|---|---|---|---|
8 (2+62) | 15 (2+13) | 15 (2+13) | 8 (+previous sum) | 21 (+previous sum) | |
8 (2+62) | 20 (3+17) | 14 (3+11) | 8 (+previous sum) | 21 (+previous sum) | |
8 (2+62) | 21 (4+17) | 11 (4+7 | 8 (+previous sum) | 22 (+previous sum) |
请注意,这些数值用于展示操作过程,具体应用时请根据实际数据调整。
转载地址:http://nutwk.baihongyu.com/