agent: |
knsCAmXmZZ4hdV9sQOoWGet unique values column wise in a pandas data frame
Get unique values column wise in a pandas data frame
There was a problem that the LLM was not able to address. Please rephrase your prompt and try again.
inputs
outputs
import pandas as pd
from datetime import datetime, timedelta
# Define last_n_days parameter
#last_n_days = 30 # You can change this value as needed
if df is not None:
print("Analyzing and visualizing daily AWS costs...")
# Filter out negative values
filter_condition = (df['lineItem/UnblendedCost'] >= 0) #| (df['lineItem/UnblendedCost'] <= -0.001)
df = df[filter_condition]
# Convert 'lineItem/UsageStartDate' to datetime
df['lineItem/UsageStartDate'] = pd.to_datetime(df['lineItem/UsageStartDate'])
# Extract the day of the month and create a new column 'day'
df['day'] = df['lineItem/UsageStartDate'].dt.date
# Get the maximum date in the dataset
max_date = df['day'].max()
# Calculate the start date based on the max date and last_n_days
start_date = max_date - timedelta(days=last_n_days)
# Filter the DataFrame to only include dates greater than or equal to the start date
filtered_df = df[df['day'] >= start_date]
# Group by day and sum 'lineItem/UnblendedCost' for each group
daily_costs = filtered_df.groupby('day')['lineItem/UnblendedCost'].sum()
# Extract x and y values
x = daily_costs.index.tolist() # This gets the dates
y = daily_costs.values.tolist() # This gets the corresponding costs
#print(df.head()) # Print the first few rows of the original DataFrame
#print(daily_costs) # Print the daily costs after grouping and summing
#print(y) # Print the y values extracted from daily_costs
# Set the properties for your plot
context.plot.xlabel = 'Date'
context.plot.ylabel = 'Cost ($)'
context.plot.title = f'Daily AWS Costs (Last {last_n_days} Days)'
context.plot.add_trace(name=f'Daily AWS Costs (Last {last_n_days} Days)', xpts=x, ypts=y, tracetype="lines")
else:
print("Failed to fetch data. Exiting.")
context.proceed=False
'''
columns= ['lineItem/ProductCode',
'lineItem/Description',
'lineItem/UsageType',
'lineItem/Operation',
'product/instanceFamily', 'product/instanceType', 'product/instanceTypeFamily']
for column_to_investigate in columns:
# Checking if the column exists in the DataFrame
if column_to_investigate in df.columns:
# Print all unique values in the column
unique_values = df[column_to_investigate].unique()
print(f"Unique values in '{column_to_investigate}':\n{unique_values}")
else:
print(f"The column '{column_to_investigate}' does not exist in the DataFrame.")
'''
copied