Geo*_*ler 2 python arrays numpy apply pandas
如何将数组(对于系列中的所有元素,数组的长度都是恒定的)有效地提取到列中?
import pandas as pd
d = pd.DataFrame({'foo':\[1,2,3\], 'bar':\[\[1,1,1\], \[2,2,2\], \[3,3,3\]\]})
d][1]][1]
Run Code Online (Sandbox Code Playgroud)
即将数组提取[1,1,1]到一bar_0, bar_1, bar_3列?
有没有比手动迭代数组中的索引并调用更好的方法pandas.apply?
import pandas as pd
d = pd.DataFrame({"foo": [1, 2, 3], "bar": [[1, 1, 1], [2, 2, 2], [3, 3, 3]]})
d = pd.concat([d, d.pop("bar").apply(pd.Series).add_prefix("bar_")], axis=1)
print(d)
Run Code Online (Sandbox Code Playgroud)
印刷:
import pandas as pd
d = pd.DataFrame({"foo": [1, 2, 3], "bar": [[1, 1, 1], [2, 2, 2], [3, 3, 3]]})
d = pd.concat([d, d.pop("bar").apply(pd.Series).add_prefix("bar_")], axis=1)
print(d)
Run Code Online (Sandbox Code Playgroud)
小智 5
这个怎么样:
>>> d.join(pd.DataFrame(d['bar'].to_list(), columns=['bar_1', 'bar_2', 'bar_3']))
foo bar bar_1 bar_2 bar_3
0 1 [1, 1, 1] 1 1 1
1 2 [2, 2, 2] 2 2 2
2 3 [3, 3, 3] 3 3 3
Run Code Online (Sandbox Code Playgroud)
您将bar列转换为列表(嵌套列表),将其转换为数据框,然后将新数据框与初始数据框连接起来。
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |