Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Comments

fix: Improved Python print support for MultiIndex, NumPy arrays, etc#1618

Open
baumandm wants to merge 1 commit intopinterest:masterfrom
baumandm:external/python-print
Open

fix: Improved Python print support for MultiIndex, NumPy arrays, etc#1618
baumandm wants to merge 1 commit intopinterest:masterfrom
baumandm:external/python-print

Conversation

@baumandm
Copy link
Contributor

This PR makes a few improvements to the patched Python print function:

DataFrames

Before

Screenshot 2025-09-23 at 2 59 36 PM

After

Screenshot 2025-09-23 at 3 01 12 PM

NumPy Arrays

Before

Screenshot 2025-09-23 at 2 59 25 PM

After

Screenshot 2025-09-23 at 3 00 56 PM

Lists / Dicts with DataFrames / Arrays

Before

Screenshot 2025-09-23 at 2 59 46 PM

After

Screenshot 2025-09-23 at 3 01 34 PM

Unfortunately, thereact-json-view component doesn't make it super clean to plug in a custom renderer if a DataFrame is embedded in a List, for example. So I'm just rendering it as JSON, which I think is still an improvement over the previous plain text format.

I have a semi-hacky solution for this if you're interested, but considering lists of DataFrames seems less common, I left that out.

Full Sample Script

Here's the full script I used for testing:

# ---------- 1. Primitives ----------print("=== String ===")print("Hello World")print("\n=== Integer ===")print(42)print("\n=== Float ===")print(3.14)# ---------- 2. Simple Containers ----------print("\n=== List ===")simple_list= [1,2,3,"hello"]print(simple_list)print("\n=== Dict ===")simple_dict= {"name":"John","age":25,"city":"NYC"}print(simple_dict)# ---------- 3. f-Strings ----------print("\n=== f-String (list) ===")print(f"List:{simple_list}")print("\n=== f-String (dict) ===")print(f"Dict:{simple_dict}")# ---------- 4. NumPy ----------importnumpyasnpprint("\n=== NumPy 1-D ===")np_1d=np.array([1,2,3,4,5])print(np_1d)print("\n=== NumPy 2-D ===")np_2d=np.arange(12).reshape(3,4)print(np_2d)# ---------- 5. Pandas – Basic ----------importpandasaspdprint("\n=== DataFrame (simple) ===")df_simple=pd.DataFrame({"name": ["Alice","Bob"],"age": [25,30]})print(df_simple)# ---------- 6. Pandas – MultiIndex ----------print("\n=== DataFrame (groupby MultiIndex) ===")sales=pd.DataFrame({"region": ["North","North","South","South"],"product": ["A","B","A","B"],"sales": [100,150,200,120],})grouped=sales.groupby("region").agg({"sales": ["sum","mean"]})print(grouped)# ---------- 7. Pandas – Pivot Table ----------print("\n=== Pivot Table ===")pivot=sales.pivot_table(values="sales",index="region",columns="product",aggfunc="sum")print(pivot)# ---------- 8. Complex MultiIndex ----------print("\n=== Triple-level MultiIndex ===")big=pd.DataFrame({"region": ["N","N","N","S","S","S"]*2,"product": ["A","A","B","A","A","B"]*2,"quarter": ["Q1","Q2"]*6,"sales":range(12),"profit":range(12,24),})triple=big.groupby(["region","product","quarter"]).agg({"sales": ["sum","mean"],"profit":"sum"})print(triple)# ---------- 9. Containers of DataFrames ----------print("\n=== List of DataFrames ===")df_list= [df_simple,grouped]print(df_list)print("\n=== Dict of DataFrames ===")df_dict= {"customers":df_simple,"sales_summary":grouped}print(df_dict)# ---------- 10. Mixed Bag ----------print("\n=== Mixed List ===")mixed= [df_simple,np_1d,"text",42]print(mixed)

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

@baumandm

[8]ページ先頭

©2009-2026 Movatter.jp