vault backup: 2024-03-16 18:09:01
This commit is contained in:
@@ -253,5 +253,40 @@ plt.show()
|
|||||||
## 支付方式统计
|
## 支付方式统计
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
import pandas as pd
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
|
||||||
|
|
||||||
|
# Load the Excel file
|
||||||
|
data = pd.read_excel('E:/Projects/analyse/pythonProject/merged_data.xlsx')
|
||||||
|
|
||||||
|
# Ensure '日期' is in datetime format for grouping
|
||||||
|
data['日期'] = pd.to_datetime(data['日期'])
|
||||||
|
|
||||||
|
# Add a 'YearMonth' column for easier analysis
|
||||||
|
data['YearMonth'] = data['日期'].dt.to_period('M')
|
||||||
|
|
||||||
|
# Group data by 'YearMonth'
|
||||||
|
grouped = data.groupby('YearMonth')
|
||||||
|
|
||||||
|
# Assuming 'data' is your DataFrame and '支付方式' is the column for Payment Methods
|
||||||
|
data['Payment Category'] = data['支付方式'].apply(lambda x: '挂账' if '挂账' in str(x).lower() else '现付')
|
||||||
|
|
||||||
|
# Group by 'YearMonth' and 'Payment Category', then count the occurrences
|
||||||
|
monthly_payment_category_counts = data.groupby(['YearMonth', 'Payment Category']).size().unstack(fill_value=0)
|
||||||
|
|
||||||
|
# Calculate the percentage of 'Pending' and 'Other' categories for each month
|
||||||
|
monthly_payment_category_percentage = (monthly_payment_category_counts.div(monthly_payment_category_counts.sum(axis=1), axis=0) * 100)
|
||||||
|
|
||||||
|
# Plotting the results - A stacked bar chart would be suitable to show percentages month-by-month
|
||||||
|
monthly_payment_category_percentage.plot(kind='bar', stacked=True, figsize=(14, 7), color=['tomato', 'lightblue'])
|
||||||
|
plt.title('支付方式占比')
|
||||||
|
plt.xlabel('月份')
|
||||||
|
plt.ylabel('比例')
|
||||||
|
plt.legend(title='支付方式')
|
||||||
|
plt.xticks(rotation=45)
|
||||||
|
plt.tight_layout()
|
||||||
|
plt.show()
|
||||||
|
```
|
||||||
|
|
||||||
```
|

|
||||||
|
|||||||
Reference in New Issue
Block a user