@@ -87,12 +87,12 @@ def field(self, name_or_index: str | int):
87
87
>>> bpd.options.display.progress_bar = None
88
88
>>> s = bpd.Series(
89
89
... [
90
- ... {"project ": "pandas" , "version ": 1 },
91
- ... {"project ": "pandas" , "version ": 2 },
92
- ... {"project ": "numpy" , "version ": 1 },
90
+ ... {"version ": 1 , "project ": "pandas" },
91
+ ... {"version ": 2 , "project ": "pandas" },
92
+ ... {"version ": 1 , "project ": "numpy" },
93
93
... ],
94
94
... dtype=bpd.ArrowDtype(pa.struct(
95
- ... [("project ", pa.string ()), ("version ", pa.int64 ())]
95
+ ... [("version ", pa.int64 ()), ("project ", pa.string ())]
96
96
... ))
97
97
... )
98
98
@@ -106,7 +106,7 @@ def field(self, name_or_index: str | int):
106
106
107
107
Extract by field index.
108
108
109
- >>> s.struct.field(1 )
109
+ >>> s.struct.field(0 )
110
110
0 1
111
111
1 2
112
112
2 1
@@ -133,22 +133,22 @@ def explode(self):
133
133
>>> bpd.options.display.progress_bar = None
134
134
>>> s = bpd.Series(
135
135
... [
136
- ... {"project ": "pandas" , "version ": 1 },
137
- ... {"project ": "pandas" , "version ": 2 },
138
- ... {"project ": "numpy" , "version ": 1 },
136
+ ... {"version ": 1 , "project ": "pandas" },
137
+ ... {"version ": 2 , "project ": "pandas" },
138
+ ... {"version ": 1 , "project ": "numpy" },
139
139
... ],
140
140
... dtype=bpd.ArrowDtype(pa.struct(
141
- ... [("project ", pa.string ()), ("version ", pa.int64 ())]
141
+ ... [("version ", pa.int64 ()), ("project ", pa.string ())]
142
142
... ))
143
143
... )
144
144
145
145
Extract all child fields.
146
146
147
147
>>> s.struct.explode()
148
- project version
149
- 0 pandas 1
150
- 1 pandas 2
151
- 2 numpy 1
148
+ version project
149
+ 0 1 pandas
150
+ 1 2 pandas
151
+ 2 1 numpy
152
152
<BLANKLINE>
153
153
[3 rows x 2 columns]
154
154
@@ -205,21 +205,21 @@ def explode(self, column, *, separator: str = "."):
205
205
>>> countries = bpd.Series(["cn", "es", "us"])
206
206
>>> files = bpd.Series(
207
207
... [
208
- ... {"project ": "pandas" , "version ": 1 },
209
- ... {"project ": "pandas" , "version ": 2 },
210
- ... {"project ": "numpy" , "version ": 1 },
208
+ ... {"version ": 1 , "project ": "pandas" },
209
+ ... {"version ": 2 , "project ": "pandas" },
210
+ ... {"version ": 1 , "project ": "numpy" },
211
211
... ],
212
212
... dtype=bpd.ArrowDtype(pa.struct(
213
- ... [("project ", pa.string ()), ("version ", pa.int64 ())]
213
+ ... [("version ", pa.int64 ()), ("project ", pa.string ())]
214
214
... ))
215
215
... )
216
216
>>> downloads = bpd.Series([100, 200, 300])
217
217
>>> df = bpd.DataFrame({"country": countries, "file": files, "download_count": downloads})
218
218
>>> df.struct.explode("file")
219
- country file.project file.version download_count
220
- 0 cn pandas 1 100
221
- 1 es pandas 2 200
222
- 2 us numpy 1 300
219
+ country file.version file.project download_count
220
+ 0 cn 1 pandas 100
221
+ 1 es 2 pandas 200
222
+ 2 us 1 numpy 300
223
223
<BLANKLINE>
224
224
[3 rows x 4 columns]
225
225
0 commit comments