Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .translate/state/pandas.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 02e57a5befc2a9a081019edc748aba15e4b2f02a
synced-at: "2026-04-09"
source-sha: 811accdd4ed8803df3a7123ada3b560bc3110712
synced-at: "2026-06-19"
model: claude-sonnet-4-6
mode: UPDATE
section-count: 5
tool-version: 0.14.0
tool-version: 0.15.0
10 changes: 5 additions & 5 deletions .translate/state/pandas_panel.md.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source-sha: 126eb49056ad1b685638c1820ebb7b4c89cabf89
synced-at: "2026-03-20"
model: unknown
mode: RESYNC
source-sha: 811accdd4ed8803df3a7123ada3b560bc3110712
synced-at: "2026-06-19"
model: claude-sonnet-4-6
mode: UPDATE
section-count: 6
tool-version: 0.13.0
tool-version: 0.15.0
4 changes: 2 additions & 2 deletions lectures/pandas.md
Original file line number Diff line number Diff line change
Expand Up @@ -354,10 +354,10 @@ df.loc[complexCondition]

توانایی ایجاد تغییرات در دیتافریم‌ها برای تولید یک مجموعه داده تمیز برای تحلیل آینده مهم است.

**1.** می‌توانیم به راحتی از `df.where()` برای "نگه داشتن" سطرهایی که انتخاب کرده‌ایم استفاده کنیم و بقیه سطرها را با هر مقدار دیگری جایگزین کنیم
**1.** می‌توانیم به راحتی از `df.where()` برای "نگه داشتن" سطرهایی که انتخاب کرده‌ایم استفاده کنیم و بقیه سطرها را با `NaN` جایگزین کنیم

```{code-cell} ipython3
df.where(df.POP >= 20000, False)
df.where(df.POP >= 20000)
```

**2.** به سادگی می‌توانیم از `.loc[]` برای مشخص کردن ستونی که می‌خواهیم تغییر دهیم استفاده کنیم و مقادیر را اختصاص دهیم
Expand Down
12 changes: 6 additions & 6 deletions lectures/pandas_panel.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,21 +147,21 @@ stacking و unstacking سطوح `MultiIndex` در سراسر این سخنران
`.stack()` پایین‌ترین سطح ستون `MultiIndex` را به index ردیف می‌چرخاند (`.unstack()` در جهت مخالف کار می‌کند - امتحان کنید)

```{code-cell} ipython3
realwage.stack(future_stack=True).head()
realwage.stack().head()
```

همچنین می‌توانیم یک آرگومان برای انتخاب سطحی که می‌خواهیم stack کنیم ارسال کنیم

```{code-cell} ipython3
realwage.stack(level='Country', future_stack=True).head() # future_stack=True is required until pandas>3.0
realwage.stack(level='Country').head()
```

استفاده از یک `DatetimeIndex` انتخاب یک دوره زمانی خاص را آسان می‌کند.

انتخاب یک سال و stacking کردن دو سطح پایین‌تر `MultiIndex` یک مقطع عرضی از داده‌های پانلی ما ایجاد می‌کند

```{code-cell} ipython3
realwage.loc['2015'].stack(level=(1, 2), future_stack=True).transpose().head() # future_stack=True is required until pandas>3.0
realwage.loc['2015'].stack(level=(1, 2)).transpose().head()
```

برای بقیه سخنرانی، ما با یک dataframe از حداقل دستمزدهای واقعی ساعتی در کشورها و زمان، اندازه‌گیری شده در دلار 2015 آمریکا کار خواهیم کرد.
Expand Down Expand Up @@ -358,7 +358,7 @@ plt.show()

همچنین می‌توانیم یک سطح از `MultiIndex` (در محور ستون) را برای تجمیع بر روی آن مشخص کنیم.

در مورد `groupby` ما نیاز داریم از `.T` برای transpose کردن ستون‌ها به ردیف‌ها استفاده کنیم زیرا `pandas` استفاده از `axis=1` را در متد `groupby` منسوخ کرده است.
در مورد `groupby`، ما نیاز داریم از `.T` برای transpose کردن ستون‌ها به ردیف‌ها استفاده کنیم، زیرا `pandas` پشتیبانی از `axis=1` را در متد `groupby` حذف کرده است.

```{code-cell} ipython3
merged.T.groupby(level='Continent').mean().head()
Expand Down Expand Up @@ -388,7 +388,7 @@ plt.show()
`.describe()` برای بازیابی سریع تعدادی از آمار خلاصه رایج مفید است

```{code-cell} ipython3
merged.stack(future_stack=True).describe()
merged.stack().describe()
```

این یک روش ساده شده برای استفاده از `groupby` است.
Expand Down Expand Up @@ -558,4 +558,4 @@ plt.show()
```

```{solution-end}
```
```
Loading