Мне нужно хранить даты и количество () в кадре данных. Я думаю, что я сделал это в своем коде, но я не могу получить доступ к count (), чтобы назначить его переменной. В конечном счете, моя цель - сгруппировать по числу, скажем, 2, и поместить только даты с count () = 2 в отдельный фрейм данных для обработки.
Я искал и не нашел способа получить доступ к count ()чтобы иметь возможность изолировать его и назначить ему переменную. спасибо
from datetime import date
from datetime import datetime
import pandas as pd
import sqlite3
import numpy as np
#conn = sqlite3.connect('data3.db')
from sqlalchemy import create_engine
engine = create_engine('sqlite:///C:\data3.db', echo=False)
#create_local table()
name = 'Bob'
startDate = pd.to_datetime('10/02/2019').date()
endDate = pd.to_datetime('10/09/2019').date()
d = pd.date_range(start=startDate, end=endDate, freq='D')
dd = pd.DataFrame({'Date': d, 'Name':[name]*len(d)})
#print (dd)
df1 = pd.DataFrame(dd, columns =['Date'])
#print(df1)
# PUll data from database
#query = "select Date from testtablee"
#df = pd.read_sql_query(query, engine)
dates= {'Date':['2019-10-07','2019-10-06','2019-11-03','2019-11-02','2019-10-09','2019-10-08','2019-10-07','2019-10-06','2019-10-05','2019-10-04','2019-10-03','2019-10-02']}
df=pd.DataFrame(dates)
df['Date']=df['Date'].astype(str)
df['Date']=df['Date'].str.slice(0,10)
#create column and count
df2 = pd.DataFrame(df, columns = ['Date'])
#counts = df2['Date'].value_counts()
#df2.columns = ['Date','count']
#df2['count']=df2.groupby('Date')['Date'].transform('count')
df2= df2.groupby("Date").agg({"Date": np.sum, "Date": pd.Series.count})
print (df2)
# extract the dates with 2 counts into new dataframe
'''
df1['Date']=df2['Date']
df1['dateMatch']=np.where(df1.Date == df2.Date, 'True', 'False')
print (df1)
'''
# Write to the database
#dd.to_sql(name='testtablee', con=engine, if_exists='append')
#engine.execute("SELECT * FROM testtablee").fetchall()
мой ожидаемый результат - иметь фрейм данных только с датами, которые имеют более 2 вхождений или значений.