gpt4 book ai didi

python - 使用日期时间创建新列或列表

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

我有一个问题。我的数据格式如下:

0   A
1 B
2 2015-01-02
3 A
4 B
5 2015-01-03
6 B
7 C
8 2015-01-04

我想获得一个新的列或列表的形式:

0   2015-01-02
1 2015-01-02
2 2015-01-02
3 2015-01-03
4 2015-01-03
5 2015-01-03
6 2015-01-04
7 2015-01-04
8 2015-01-04

重点是给定日期之前的所有记录都必须更改为该日期。接下来的每一次约会也是如此。在本例中,我在新文件中创建了一个新列表,但我最希望在现有文件中获得一个新列。当然,各个日期之间的记录数量可能会有所不同。

我正在处理 csv 文件。

http://uploadfile.pl/pokaz/1246822---xx3t.html

数据非常不规则,我尝试按日期创建产品列表。

在这个列表中,我从第一列得到的初始代码是:

import pandas as pd
import numpy as np
import seaborn as sns
sns.set()

df = pd.read_csv("C:\\Users\dell\\Desktop\\alko_del2.csv", sep=';')

df = df.replace(['destylowane', 'alkoholowe'], [np.nan, np.nan], regex=True)
df = df.replace(['napoje'], ['WODKA'], regex=True)
df = df.replace(['wina'], ['WINO'], regex=True)
df = df.dropna(how='all')

df2 = df.loc[~(df == 'SN:').any(axis=1)]
df3 = df2.loc[~(df == 'Lp').any(axis=1)]
df4 = df3.loc[~(df == 'zakupu').any(axis=1)]
df5 = df4.loc[~(df == 'netto').any(axis=1)]
print (df5)
h=[]

for n in range(len(df5)):
n=df5.iloc[[n]].dropna(axis=1, how="any")

n.columns = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
n = n.drop(['j','b', 'd', 'e', 'f', 'g', 'h', 'i','c'], 1)

z=n.to_string(header=False)
h.append(z)
m='\n'.join(h)

with open("C:\\Users\dell\\Desktop\\lista_1.csv", "w") as output:
output.write(m)

最佳答案

我只会根据您的样本数据返回您的预期输出

df.date=pd.to_datetime(df.date,errors='coerce').bfill()
df
Out[71]:
date
0 2015-01-02
1 2015-01-02
2 2015-01-02
3 2015-01-03
4 2015-01-03
5 2015-01-03
6 2015-01-04
7 2015-01-04
8 2015-01-04

关于python - 使用日期时间创建新列或列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46916355/

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