使用Python Pandas将二进制序列转换为指定日期范围的状态对应表
Python Pandas 实现方案
完整可运行代码
import pandas as pd # 定义输入二进制序列、生成目标日期范围 binary_str = "0001111000011111111111110001011011000000000011111100000111110" date_range = pd.date_range(start="2021-10-01", end="2021-11-30", freq="D") # 校验长度匹配(10月31天+11月30天共61天,二进制序列刚好为61位) assert len(binary_str) == len(date_range), "二进制序列长度与日期总天数不匹配" # 构造符合要求的两列表格 result_df = pd.DataFrame({ "日期": date_range, "对应编码": [int(bit) for bit in binary_str] }) # (可选扩展)增加出行状态标注列 result_df["出行状态"] = result_df["对应编码"].map({1: "外出", 0: "居家"}) # 控制台打印查看结果 print(result_df) # (可选导出)导出为本地文件 # result_df.to_excel("出行记录.xlsx", index=False) # result_df.to_csv("出行记录.csv", index=False)
格式调整说明
- 如果需要将日期转为字符串格式,可添加代码:
result_df["日期"] = result_df["日期"].dt.strftime("%Y-%m-%d") - 导出文件时设置
index=False可避免生成多余的索引列
内容的提问来源于stack exchange,提问作者user17037971
相关产品推荐
相关产品推荐

