pandas time series offset in months using frequencies notation [duplicate] - python-3.x

This question already has an answer here:
How can I get pandas Timestamp offset by certain amount of months?
(1 answer)
Closed 2 years ago.
I'd like to offset a date in a DatetimeIndex by a certain number of months using a string but can only find reference to the MonthEnd version.
Here is my (incorrect) attempt
rng = pd.date_range('2020-01-01','2020-07-03')
rng[-1] - pd.tseries.frequencies.to_offset('2m')
This will return Timestamp('2020-05-31 00:00:00') when instead I'm looking for Timestamp('2020-05-03 00:00:00')
Is there an alternative to '2m' here which will give me that result?

The DateOffset method in pandas works well:
rng[-1] - pd.DateOffset(months=2)
Output:
Timestamp('2020-05-03 00:00:00')

Related

Current week in Python? [duplicate]

This question already has answers here:
Python: give start and end of week data from a given date
(5 answers)
how to get all dates of week based on week number in python
(7 answers)
Adding days to a date in Python
(16 answers)
Closed 9 months ago.
good morning, I'm in the middle of a project and I'm stuck on finding a way to return every day of the current week in a list. It would be something like this:
week=[ '2022-06-07' , '2022-06-08' , '2022-06-09' , '' , '...']
I would be very grateful if you could explain to me a way to obtain this result,,, thanks
You can shorten this but I wrote it out like this for clarity.
from datetime import datetime, timedelta
date_obj = datetime(2022, 6, 7) # Today, Tuesday
monday = date_obj - timedelta(days=date_obj.weekday()) # assuming start of week is Monday
week = []
for i in range(7):
week.append((monday + timedelta(days=i)).strftime("%Y-%m-%d"))
print(week)
Output:
# Monday 6/6 to Sunday 6/12
['2022-06-06', '2022-06-07', '2022-06-08', '2022-06-09', '2022-06-10', '2022-06-11', '2022-06-12']

How to convert Python Dataframe utc time column to epoch timestamp? [duplicate]

This question already has answers here:
pandas datetime to unix timestamp seconds
(5 answers)
Closed 1 year ago.
I have a df with time column in ISO Format
df = pd.DataFrame({'time':['2021-05-01T16:08:59.094953+00:00','2021-05-01T16:08:56.675183+00:00','2021-05-01T16:08:56.675183+00:00']})
How can i convert this time column to epoch timestamp in Python?
Desired result:
TRY this approach
pd.to_datetime(df.time).astype(int) / 10**9

dropna() not working for axis = 1 with the given threshold [duplicate]

This question already has answers here:
thresh in dropna for DataFrame in pandas in python
(3 answers)
Closed 2 years ago.
For the given dataset
I performed a dropna on axis = 1 with threshold = 2
df.dropna(thresh=2,axis=1)
The output was
Which does not seem correct, what I expect is to drop column with index = 1 and 2 given that both columns have NaN occurences >= 2
The code works perfectly fine with axis=0
Try using df.dropna(thresh=6,axis=1) for same dataframe.

pandas convert mm/dd/yyyy hh:mm to date [duplicate]

This question already has answers here:
removing time from date&time variable in pandas?
(3 answers)
Closed 2 years ago.
I have the time column in a df
accrual_time_x
1/4/19 20:32
trying to convert into
%m/%d/%y
df["accrual_time_x"] = pd.to_datetime(df["accrual_time_x"],format="%m/%d/%y")
yet still return
0 2019-01-04 20:32:00
How could I convert into 01-04-2019? thanks!
Is this what you want?
df['accrual_time_x'].apply(pd.to_datetime).dt.strftime('%m-%d-%Y')

how to convert date in month python? [duplicate]

This question already has answers here:
Convert string "Jun 1 2005 1:33PM" into datetime
(26 answers)
Closed 3 years ago.
i m currently working in Generating dynamic invoice on monthly basis but i m stuck in getting month name in python from user input date
Example: Given Date is :15/03/2020 is date and month is March
Any help would be appreciated
Assuming that you are receiving the date in the form of a string like "15/03/2020":
int(date.split('/')[1]) returns the value between the first and second / of date as an integer. This can then be used as the index for a list of month names to return the name of the month:
months = ["January","February","March",...]
print(months[int(date.split('/')[1])-1])

Resources