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

标签 python python-3.x pandas numpy

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

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/

相关文章:

python - 在 Rstudio 中运行 python/bash 代码

javascript - python : how to get hidden html contents from a HTML page

python - 拉出分类行并应用于所有后续行,直到找到新类别

python-3.x - 保存 StandardScaler() 模型以用于新数据集

python - Pandas:创建数据框而不按字母顺序自动排序列名

python - 如何使用python对一个变量应用过滤器考虑其他两个变量

python - Visual Studio Code 语法高亮显示不起作用

python - 在 AWS Lambda 上使用 Python 将 MS Word(.doc 和 .docx)文件转换为 HTML

python - 查找在数组中恰好出现一次的项目

python - 无法使用 Facebook Marketing API 获取暂停的广告见解