Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -697,7 +697,15 @@ def page_frauds():
|
|
| 697 |
return
|
| 698 |
|
| 699 |
with st.spinner("Chargement des fraudes..."):
|
| 700 |
-
df = load_last_24h_data()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 701 |
df_frauds = df[df['pred_is_fraud'] == 1]
|
| 702 |
|
| 703 |
st.markdown(f"""
|
|
@@ -707,8 +715,13 @@ def page_frauds():
|
|
| 707 |
""", unsafe_allow_html=True)
|
| 708 |
|
| 709 |
if not df_frauds.empty:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 710 |
st.dataframe(
|
| 711 |
-
|
| 712 |
use_container_width=True,
|
| 713 |
height=600
|
| 714 |
)
|
|
@@ -737,6 +750,14 @@ def page_no_frauds():
|
|
| 737 |
|
| 738 |
with st.spinner("Chargement des transactions légitimes..."):
|
| 739 |
df = load_last_24h_data()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 740 |
df_no_frauds = df[df['pred_is_fraud'] == 0]
|
| 741 |
|
| 742 |
st.markdown(f"""
|
|
@@ -746,8 +767,13 @@ def page_no_frauds():
|
|
| 746 |
""", unsafe_allow_html=True)
|
| 747 |
|
| 748 |
if not df_no_frauds.empty:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 749 |
st.dataframe(
|
| 750 |
-
|
| 751 |
use_container_width=True,
|
| 752 |
height=600
|
| 753 |
)
|
|
|
|
| 697 |
return
|
| 698 |
|
| 699 |
with st.spinner("Chargement des fraudes..."):
|
| 700 |
+
df = load_last_24h_data()
|
| 701 |
+
|
| 702 |
+
# 🔧 Convertir created_at en heure de Paris
|
| 703 |
+
if 'created_at' in df.columns and not df.empty:
|
| 704 |
+
df['created_at'] = pd.to_datetime(df['created_at'], utc=True)
|
| 705 |
+
df['created_at'] = df['created_at'].dt.tz_convert('Europe/Paris')
|
| 706 |
+
# Formater pour affichage plus lisible
|
| 707 |
+
df['created_at_display'] = df['created_at'].dt.strftime('%Y-%m-%d %H:%M:%S')
|
| 708 |
+
|
| 709 |
df_frauds = df[df['pred_is_fraud'] == 1]
|
| 710 |
|
| 711 |
st.markdown(f"""
|
|
|
|
| 715 |
""", unsafe_allow_html=True)
|
| 716 |
|
| 717 |
if not df_frauds.empty:
|
| 718 |
+
# Utiliser created_at_display au lieu de created_at pour l'affichage
|
| 719 |
+
display_cols = ['trans_num','merchant','category','amt','city','gender','created_at_display']
|
| 720 |
+
df_display = df_frauds[display_cols].copy()
|
| 721 |
+
df_display = df_display.rename(columns={'created_at_display': 'Date/Heure (Paris)'})
|
| 722 |
+
|
| 723 |
st.dataframe(
|
| 724 |
+
df_display.sort_values('Date/Heure (Paris)', ascending=False),
|
| 725 |
use_container_width=True,
|
| 726 |
height=600
|
| 727 |
)
|
|
|
|
| 750 |
|
| 751 |
with st.spinner("Chargement des transactions légitimes..."):
|
| 752 |
df = load_last_24h_data()
|
| 753 |
+
|
| 754 |
+
# 🔧 Convertir created_at en heure de Paris
|
| 755 |
+
if 'created_at' in df.columns and not df.empty:
|
| 756 |
+
df['created_at'] = pd.to_datetime(df['created_at'], utc=True)
|
| 757 |
+
df['created_at'] = df['created_at'].dt.tz_convert('Europe/Paris')
|
| 758 |
+
# Formater pour affichage plus lisible
|
| 759 |
+
df['created_at_display'] = df['created_at'].dt.strftime('%Y-%m-%d %H:%M:%S')
|
| 760 |
+
|
| 761 |
df_no_frauds = df[df['pred_is_fraud'] == 0]
|
| 762 |
|
| 763 |
st.markdown(f"""
|
|
|
|
| 767 |
""", unsafe_allow_html=True)
|
| 768 |
|
| 769 |
if not df_no_frauds.empty:
|
| 770 |
+
# Utiliser created_at_display au lieu de created_at pour l'affichage
|
| 771 |
+
display_cols = ['trans_num','merchant','category','amt','city','gender','created_at_display']
|
| 772 |
+
df_display = df_no_frauds[display_cols].copy()
|
| 773 |
+
df_display = df_display.rename(columns={'created_at_display': 'Date/Heure (Paris)'})
|
| 774 |
+
|
| 775 |
st.dataframe(
|
| 776 |
+
df_display.sort_values('Date/Heure (Paris)', ascending=False),
|
| 777 |
use_container_width=True,
|
| 778 |
height=600
|
| 779 |
)
|