(每日一练)强制类型转换和自动类型转换的区别

自动类型转换就是自发的进行,自动类型转换就相当于把小的水桶里面的水装到大的里面去
比如 int a = 10 double b = a;
强制类型转换是强制性的,将容量大的类型转换到容量小的类型,前提是容量小的类型能够装的下容量大的数据,强制类型则有可能精度丢失
比如 double a = 10.0 float b = (float) a;

``` import pandas as pd # 读取数据(假设第二行是表头) df = pd.read_csv("合并表.csv", header=1, low_memory=False) # 列名标准化清洗 df.columns = df.columns.str.strip() df = df.rename(columns={ "日期": "交易日期", "代码": "股票代码", "名称": "股票名称", "成交额": "成交额", "成交金额": "成交额", "成交额()": "成交额" }) # 强制转换成交额为数值类型(处理千分位逗号特殊字符) df["成交额"] = pd.to_numeric( df["成交额"].astype(str).str.replace(r"[^\d.]", "", regex=True), errors="coerce" ) df = df.dropna(subset=["交易日期", "股票代码", "成交额"]) # 核心逻辑:找出每个交易日所有不同股票代码中成交额最高的记录 result = ( df # 步骤1:先确保每个股票代码在每个交易日只有一条记录(取该股票该日的最高成交额) .loc[df.groupby(["股票代码", "交易日期"])["成交额"].idxmax()] # 步骤2:再从这些记录中找出每个交易日成交额最高的股票 .loc[df.groupby("交易日期")["成交额"].idxmax()] # 步骤3:按日期排序 .sort_values("交易日期") ) # 输出列选择 result = result[["交易日期", "股票代码", "股票名称", "成交额"]] # 导出结果 result.to_csv("每日最高成交额股票_终极严格版.csv", index=False, encoding="utf-8-sig") print("✅ 已严格确保:") print("1. 先处理同一股票代码在同一天的多条记录(取该股票该日的最高成交额)") print("2. 再从所有不同股票代码中找出该交易日成交额最高的股票") print("3. 完全避免重复日期,无论该交易日有多少只不同股票\n") print("示例输出:") print(result.head())```帮我修改一下我发的代码
最新发布
04-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值