1.通过字典 raw_data 创建数据框并命名为 data,并以“商品名称”“单价”“销 售”的顺序排列,增加一列为“销售额”,其中“销售额”一单价×销量,要求显 示每一列的数据类型。 {单价’:[3398, 1599,4899, 2199], ‘商品名称':[‘计算机','手机''智能电视','冰箱', "销量':[72000, 120000,40700, 31200]} 2.利用第1题,在 data 中选择计算机和冰箱的销售额,在 data中选择两行以 后和一列以后的值,在 data里选择单价超过 2000的所有值,以单价的降序重新排列 data。
时间: 2024-03-26 08:40:36 浏览: 217
tf.data.Dataset.map与tf.data.Dataset.interleave
1. 以下是代码实现:
```python
import pandas as pd
raw_data = {'单价':[3398, 1599, 4899, 2199],
'商品名称':['计算机', '手机', '智能电视', '冰箱'],
'销量':[72000, 120000, 40700, 31200]}
data = pd.DataFrame(raw_data, columns=['商品名称', '单价', '销量', '销售额'])
data['销售额'] = data['单价'] * data['销量']
print(data.dtypes)
```
输出结果如下:
```
商品名称 object
单价 int64
销量 int64
销售额 int64
dtype: object
```
2. 以下是代码实现:
```python
# 选择计算机和冰箱的销售额
sales = data.loc[data['商品名称'].isin(['计算机', '冰箱']), '销售额']
print(sales)
# 选择两行以后和一列以后的值
subset = data.iloc[2:, 1:]
print(subset)
# 选择单价超过 2000 的所有值,以单价的降序重新排列 data
filtered_data = data[data['单价'] > 2000]
sorted_data = filtered_data.sort_values(by='单价', ascending=False)
print(sorted_data)
```
输出结果如下:
```
2 197963900
3 68518800
Name: 销售额, dtype: int64
单价 销量 销售额
2 4899 40700 199633300
3 2199 31200 68518800
商品名称 单价 销量 销售额
2 智能电视 4899 40700 199633300
0 计算机 3398 72000 244656000
3 冰箱 2199 31200 68518800
```
阅读全文