gpt4 book ai didi

python - 将列的子集转换为列表

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:06 26 4
gpt4 key购买 nike

我有一个带有以下列的旋转 Pandas DataFrame:

month | day | hour | a | b | c | d | e | f | g ... z
1 1 1 3 9 0 9 0 3 3 9

az 列中的所有行转换为其值列表并就地使用这个新列表列的最有效方法是什么?结果列将是:

month | day | hour | list
1 1 1 [3,9,0,9,0,3,3,9 ...]

我可以迭代行并手动将 az 组合到许多列表中,然后删除不必要的列,但可能有更直接的方法。

最佳答案

其实这个很简单,我们可以调用属性.values来返回df值的np数组,这个有一个方法tolist(),你可以直接将其分配给您的新列:

In [258]:
import pandas as pd
import io
t="""month day hour a b c d e f g z
1 1 1 3 9 0 9 0 3 3 9"""
df = pd.read_csv(io.StringIO(t), sep='\s+')
df = pd.concat([df]*2, ignore_index=True)
df

Out[258]:
month day hour a b c d e f g z
0 1 1 1 3 9 0 9 0 3 3 9
1 1 1 1 3 9 0 9 0 3 3 9

In [264]:
df['list'] = df[df.columns[3:]].values.tolist()
df

Out[264]:
month day hour a b c d e f g z list
0 1 1 1 3 9 0 9 0 3 3 9 [3, 9, 0, 9, 0, 3, 3, 9]
1 1 1 1 3 9 0 9 0 3 3 9 [3, 9, 0, 9, 0, 3, 3, 9]

来自.values的输出:

In [265]:
df[df.columns[3:]].values

Out[265]:
array([[3, 9, 0, 9, 0, 3, 3, 9, [3, 9, 0, 9, 0, 3, 3, 9]],
[3, 9, 0, 9, 0, 3, 3, 9, [3, 9, 0, 9, 0, 3, 3, 9]]], dtype=object)

关于python - 将列的子集转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30941593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com