将数据框的所有行值输入到变量中

Posted

技术标签:

【中文标题】将数据框的所有行值输入到变量中【英文标题】:Input all row values of dataframe into a variable 【发布时间】:2022-01-20 01:13:24 【问题描述】:

有没有办法将数据框中行的所有输出值放入一个变量中?

我的代码是这样的..

q1 = ps.sqldf("SELECT sdetframe.bill_no AS 'bill_number', sdetframe.ref_no AS 'ref_number', sdetframe.price_paid AS 'price_paid', sdetframe.raw_price AS 'raw_price', sdetframe.quanty AS 'quantity' FROM sdetframe WHERE ord_date = '" + dfd + "'")
q1df = DataFrame(q1)
q1data = q1df.at[0, 'bill_number']
print(q1df)

q1df 的输出是这样的……

        bill_number  ref_number  price_paid  raw_price  quantity
0          197968           2      383.93     383.93       1.0
1          197968           2      383.93     383.93       1.0
2          197968           2      383.93     383.93       1.0
3          197969           1      357.14     357.14       1.0
4          197969         151      500.00     500.00       1.0

q1data 的输出只有 197968。有没有一种方法可以让我获取所有票据编号并将其放入变量中??

提前致谢。

我将它放入一个变量中,以便我可以将它调用到另一个数据框查询。下面是另一个代码...

q2 = ps.sqldf("SELECT slsframe.pay_type AS 'pay_type', slsframe.received AS 'received' FROM slsframe WHERE bill_no = '" + str(q1data) + "'")
q2df = DataFrame(q2)

【问题讨论】:

pandas at 方法只返回一个值 我明白了。我现在使用 tolist() 函数。 【参考方案1】:

一种方法是使用tolist() 将所有值作为一个列表。

q1data= q1df.bill_number.tolist()

打印:

[197968, 197968, 197968, 197969, 197969]

编辑 用户希望根据问题更新将其用于另一个 SQL 查询。

为此,将list 转换为tuple 并调用查询。

q1data = tuple(q1data)
ps.sqldf("SELECT slsframe.pay_type AS 'pay_type', slsframe.received AS 'received' FROM slsframe WHERE bill_no IN %(q1data)")

如果您想从列表中删除重复项,请转换为set,然后转换为tuple

【讨论】:

非常感谢。但我想输入 bill_number 值的原因是我会将它用于另一个查询。我将再次编辑代码供您查看。 另一个 Pandas 查询或 SQL 查询? 另一个sql查询。 您可以使用.isin作为列表从另一个数据帧中查询 我已更新答案以包含该要求【参考方案2】:

如果您希望变量为Series

S1 = q1df['bill_number']

输出:

0    197968
1    197968
2    197968
3    197969
4    197969

如果您希望变量为List

L1 = q1df['bill_number'].tolist()

输出:

['197968', '197968', '197968', '197969', '197969']

【讨论】:

我想将 bill_number 值放到一个变量中,这样我就可以将它用于另一个 sql 查询。我编辑上面的问题。谢谢。

以上是关于将数据框的所有行值输入到变量中的主要内容,如果未能解决你的问题,请参考以下文章

jQuery需要从表单输入框的值中设置变量的值

如何检查数据库中每个用户是不是存在行值

如何将所有日期格式转换为日期列的时间戳?

Pandas:使用 apply 将特定列中的行值复制到新列中

使用jquery将多个输入框的值获取到多维数组中

VBS使文本框的光标位于所有字符后