gpt4 book ai didi

python - Pandas:读取具有单独年份和月份列的 CSV 文件,合并它们并设置为索引列

转载 作者:行者123 更新时间:2023-12-01 02:22:28 25 4
gpt4 key购买 nike

我有一个 csv 文件,其中包含列 'Year' (类型:int64),例如1958,以及列 'Month' (类型:int64),例如7 月为 7。

我想将这两列转换为一列(格式应为“YYYY-MM”)并将其设置为索引列。到目前为止我尝试过这个:

    data_two = pd.read_csv('data/archive.csv', sep=',', parse_dates=[['Year','Month']], date_parser=lambda x: pd.to_datetime(x, format="%Y%M"), index_col="date_time")

最佳答案

由于您请求的格式 (%Y-%M) 不是日期时间表示,您可以简单地跳过解析日期并执行以下操作:

import pandas as pd

temp=u'''\
Year,Month,Col
1958,7,2
1991,6,4'''

# Read sample dataframe
df = pd.read_csv(pd.compat.StringIO(temp), sep=',')

# Set index
df = (df.set_index(df.Year.astype(str)+"-"+df.Month.astype(str).str.zfill(2))
.drop(['Month','Year'],axis=1))

print(df)

打印:

         Col
1958-07 2
1991-06 4
<小时/>

另一种方法是这样做:

df = pd.read_csv(pd.compat.StringIO(temp), 
parse_dates=[['Year','Month']],
index_col="Year_Month")

df.index = df.index.strftime("%Y-%m")

关于python - Pandas:读取具有单独年份和月份列的 CSV 文件,合并它们并设置为索引列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47820907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com