当前位置: 首页 > 知识库问答 >
问题:

从数据框列或行获取列表?

潘秦斩
2023-03-14

我有一个从Excel文档导入的数据框,如下所示:

cluster load_date   budget  actual  fixed_price
A   1/1/2014    1000    4000    Y
A   2/1/2014    12000   10000   Y
A   3/1/2014    36000   2000    Y
B   4/1/2014    15000   10000   N
B   4/1/2014    12000   11500   N
B   4/1/2014    90000   11000   N
C   7/1/2014    22000   18000   N
C   8/1/2014    30000   28960   N
C   9/1/2014    53000   51200   N

我希望能够返回列1df['集群']的内容作为一个列表,这样我就可以运行一个for循环,并为每个集群创建一个Excel工作表。

是否也可以将整列或整行的内容返回到列表中?例如

list = [], list[column1] or list[df.ix(row1)]

共有3个答案

华森
2023-03-14

Numpy数组

Numpy阵列

data = np.array([[10,20,30], [20,30,60], [30,60,90]])

将numpy数组转换为Panda数据帧

dataPd = pd.DataFrame(data = data)
    
print(dataPd)
0   1   2
0  10  20  30
1  20  30  60
2  30  60  90

pdToList=list(dataPd['2'])

隗和裕
2023-03-14

这将返回一个numpy数组:

arr = df["cluster"].to_numpy()

这将返回唯一值的numpy数组:

unique_arr = df["cluster"].unique()

您也可以使用Numpy来获取唯一的值,尽管这两种方法之间存在差异:

arr = df["cluster"].to_numpy()
unique_arr = np.unique(arr)
蓬意致
2023-03-14

Pandas数据框列在拉出时是Pandas系列,然后可以调用x.tolist()on将它们转换为Python列表。或者,您可以使用list(x)进行强制转换。

import pandas as pd

data_dict = {'one': pd.Series([1, 2, 3], index=['a', 'b', 'c']),
             'two': pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}

df = pd.DataFrame(data_dict)

print(f"DataFrame:\n{df}\n")
print(f"column types:\n{df.dtypes}")

col_one_list = df['one'].tolist()

col_one_arr = df['one'].to_numpy()

print(f"\ncol_one_list:\n{col_one_list}\ntype:{type(col_one_list)}")
print(f"\ncol_one_arr:\n{col_one_arr}\ntype:{type(col_one_arr)}")

输出:

DataFrame:
   one  two
a  1.0    1
b  2.0    2
c  3.0    3
d  NaN    4

column types:
one    float64
two      int64
dtype: object

col_one_list:
[1.0, 2.0, 3.0, nan]
type:<class 'list'>

col_one_arr:
[ 1.  2.  3. nan]
type:<class 'numpy.ndarray'>
 类似资料:
  • 我正在尝试从数据帧中获取列数据类型 下面是一个示例代码: 上面的代码打印如下图所示:结构类型(列表(结构字段(id,长类型,真),结构字段(文本,字符串类型,真),结构字段(标签,双类型,真)))字段 [结构字段(id,长型,真),结构字段(文本,字符串类型,真),结构字段(标签,双类型,真)]名称 ['id', '文本', 标签'] 但是如何获取标签列的数据类型?非常感谢您的时间。 问候

  • 问题内容: 如果我有一个包含以下列的数据框: 我想说:这是一个数据框,请给我列出对象类型或日期时间类型的列的列表吗? 我有一个将数字(Float64)转换为两位小数的函数,并且我想使用此数据框列的特定类型的列表,并通过此函数运行它以将它们全部转换为2dp。 也许: 问题答案: 如果您想要某种类型的列的列表,可以使用:

  • 我有3个表users(id、name等)、trips(id、user_id、from、to、destination)、vactions(id、user_id、from、to、destination)。我使用mysqli,我不知道怎么做,我需要像这样获取这个表 我试过左加入,但我不工作,我的代码现在只适用于用户:

  • 问题内容: 如何获得特定表中的列名列表? IE。 火鸟表: 得到这样的列表: 问题答案: 如果要获取特定表中的列名列表,则这是您需要的sql查询: 我在firebird 2.5中尝试过此方法,并且可以正常工作。 顺便说一句,YOUR-TABLE-NAME周围的单引号是必需的

  • 问题内容: 我有一个包含6列的R数据框,并且我想创建一个仅包含三列的新数据框。 假设我的数据帧df,我想提列A,B和E,这是唯一的命令,我可以计算出: 有没有更紧凑的方法可以做到这一点? 问题答案: 如果您的data.frame被调用,则使用dplyr包df1: 也可以在不使用%>%管道的情况下将其写为:

  • 如何将spark数据框中的所有列名放入Seq变量中。 输入数据 我需要使用scala编程将所有列名存储在变量中。我尝试了如下方法,但不起作用。 预期输出: