现在有一个DataFrame数据如下表所示:-|||-商品ID 标题 价格-|||-1 巨型萌宠大礼包 138-|||-2 夏威夷果160g 60-|||-3 巨型零食大礼包 /30 袋装 188-|||-4坚果大礼包 98-|||-5乳酸菌小伴侣 30-|||-6轻格华夫饼 30-|||-请对该DataFrame做如下操作:-|||-①打印标题所在的那一列。 2-|||-②打印前3行数据。-|||-③打印标题为"坚果大礼包"的商品ID、标题、价格。-|||-④请将所有的价格为30的商品,更改该价格为40。-|||-⑤请在该DataFrame中添加一列,列名为"状态",并将该列中的所有值设置为"热销商品"。
时间: 2023-06-24 22:06:12 浏览: 69
①打印标题所在的那一列。
```
print(df["标题"])
```
输出结果:
```
0 巨型萌宠大礼包
1 夏威夷果160g
2 巨型零食大礼包 /30 袋装
3 坚果大礼包
4 乳酸菌小伴侣
5 轻格华夫饼
Name: 标题, dtype: object
```
②打印前3行数据。
```
print(df.head(3))
```
输出结果:
```
商品ID 标题 价格
0 1 巨型萌宠大礼包 138
1 2 夏威夷果160g 60
2 3 巨型零食大礼包 /30 袋装 188
```
③打印标题为"坚果大礼包"的商品ID、标题、价格。
```
print(df.loc[df["标题"] == "坚果大礼包", ["商品ID", "标题", "价格"]])
```
输出结果:
```
商品ID 标题 价格
3 4 坚果大礼包 98
```
④请将所有的价格为30的商品,更改该价格为40。
```
df.loc[df["价格"] == 30, "价格"] = 40
```
⑤请在该DataFrame中添加一列,列名为"状态",并将该列中的所有值设置为"热销商品"。
```
df["状态"] = "热销商品"
```
相关问题
随机抽取7家超市,得到其广告费支出和销售额数据如-|||-下:-|||-超市+广告费支出(万元)+销售额+(万元)-||-|||-B+2+32-|||-C+4+44-|||-D+6+4
```python
import pandas as pd
data = {'超市': ['B', 'C', 'D'],
'广告费支出(万元)': [2, 4, 6],
'销售额(万元)': [32, 44, 48]}
df = pd.DataFrame(data)
print(df)
```
|sku_id| price| +------+-------+ |186976| 687.04| | act_date| act_time| user| act_type| sku| +----------+----------+-------+--------+------+------+ |2018-03-11|23:54:29.0| 267467| 2|186976| |2018-03-26|16:16:03.0| 709681| 2|327755| | act_date| act_time| user| act_type| sku| price| +----------+----------+-------+--------+------+------+ |2018-03-11|23:54:29.0| 267467| 2|186976|687.04| |2018-03-26|16:16:03.0| 709681| 2|327755|1588.5| 用spark程序实现把前两个表合并成最后一个表的样子,注意上面三个都是DataFrame
根据您提供的需求,我可以提供以下Spark程序实现:
```python
from pyspark.sql.functions import first
# 读取原始数据为DataFrame
df1 = spark.read.format("csv").option("header", "true").load("path/to/df1.csv")
df2 = spark.read.format("csv").option("header", "true").load("path/to/df2.csv")
# 合并df1和df2,以df1为基础
df_result = df1.join(df2, on=["act_date", "act_time", "user", "act_type", "sku"], how="outer") \
.groupBy("sku") \
.agg(first("price").alias("price"))
# 打印结果
df_result.show()
```
上述代码中,我们首先使用`spark.read`方法将两个CSV文件读取为DataFrame。然后使用`join`方法合并df1和df2,以df1为基础。最后使用`groupBy`和`agg`方法计算每个sku的唯一价格,并将结果存储在df_result中。最后使用`show`方法打印结果。
注意,由于我们使用了`outer`连接,因此结果可能会包含空值。如果您希望删除空值,请在代码中添加相应的过滤条件。
阅读全文