Python-Listen und -SpaltenPython

Python-Programme
Anonymous
 Python-Listen und -Spalten

Post by Anonymous »

Ich habe den folgenden Code, in dem ich im Teil „Filter“ ein Programm nach Kanal und Jahr filtere und mit „Gruppieren nach“ den Durchschnitt pro Tag der Spalte erstelle, aus der die Bewertung stammt.

Code: Select all

año=[2019,2020]
base2= dataframe
channels=[lista con canales]

def ran_diario(base2,año,channels):

lista=[]
df = pd.DataFrame()

for h in año:
for i in range(1,53):
filtro=base2[base2.Year.isin([h]) & base2.Channel.isin(channels) & base2.Week.isin([i])]
filtro = filtro[filtro['Description'].str.contains('[a-z]*|[a-z]*'.join(word),case=False)]
filtro["Date"] = pd.to_datetime(filtro["Date"])
a=filtro.groupby("Date", as_index=False)[targets].mean()
lista.append(a)
df["Year"]=h
df["Week"]=i
df=df.append(lista,ignore_index=True)

return (df)
Die Ausgabe, die ich erhalte, ist:

Code: Select all

      Year  Week      Date              rat %
0   2020.0  52.0 2018-12-31            0.000000
1   2020.0  52.0 2019-01-01            0.000000
2   2020.0  52.0 2019-01-02            0.000000
3   2020.0  52.0 2019-01-03            0.000000
4   2020.0  52.0 2019-01-04            0.130000
..     ...   ...        ...                 ...
1      NaN   NaN 2020-01-12            0.000000
0      NaN   NaN 2020-02-01            0.066667
0      NaN   NaN 2020-02-08            0.000000
0      NaN   NaN 2020-02-15            0.035000
0      NaN   NaN 2020-02-29            0.000000
Wie Sie sehen können, sind die Spalte „Datum“ und „Rate %“ in Ordnung, aber die Spalte „Jahr“ setzt mich an den Anfang des Jahres 2020, wenn es 2019 ist, und in der Woche, die gemäß dem i des for geht, wird nur die letzte eingefügt, die 52 ist, und in den Daten von „Datum“ für 2020 füllen Sie sie mit NaN. Die Ausgabe sollte sein:

Code: Select all

     Year  Week       Date           rat %
0   2019.0   1.0 2018-12-31            0.000000
1   2019.0   2.0 2019-01-01            0.000000
2   2019.0   3.0 2019-01-02            0.000000
3   2019.0   4.0 2019-01-03            0.000000
4   2019.0   5.0 2019-01-04            0.130000
..     ...   ...        ...                 ...
1   2020.0   1.0 2020-01-12            0.000000
0   2020.0   2.0 2020-02-01            0.066667
0   2020.0   3.0 2020-02-08            0.000000
0   2020.0   4.0 2020-02-15            0.035000
0   2020.0   5.0 2020-02-29            0.000000

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post