我有两个pandas数据帧:
from pandas import DataFrame
df1 = DataFrame({'col1':[1,2],'col2':[3,4]})
df2 = DataFrame({'col3':[5,6]})
Run Code Online (Sandbox Code Playgroud)
获得笛卡尔积的最佳做法是什么(当然不像我这样明确地写出来)?
#df1, df2 cartesian product
df_cartesian = DataFrame({'col1':[1,2,1,2],'col2':[3,4,3,4],'col3':[5,5,6,6]})
Run Code Online (Sandbox Code Playgroud) 我正在使用python3输入功能来获得更好的自动完成功能.
很多时候,我有使用特定键返回键/值(字典)的函数.超级简单的例子:
def get_info(name):
name_first_letter = name[0]
return {'my_name': name, 'first_letter': name_first_letter}
Run Code Online (Sandbox Code Playgroud)
我想在此函数中添加类型提示,以告诉使用此函数的其他人期待什么.
我可以这样做:
class NameInfo(object):
def __init__(self, name, first_letter):
self.name = name
self.first_letter = first_letter
Run Code Online (Sandbox Code Playgroud)
然后将函数签名更改为:
def get_info(name) -> NameInfo:
Run Code Online (Sandbox Code Playgroud)
但它需要为每个字典提供太多代码.
在这种情况下,最佳做法是什么?
我正在寻找一种方法来创建字典而无需显式写入键我想创建获取数字变量的函数,并创建字典,其中变量名称是键,它们的值是变量值
而不是编写以下功能:
def foo():
first_name = "daniel"
second_name = "daniel"
id = 1
return {'first_name':first_name, 'second_name':second_name}
Run Code Online (Sandbox Code Playgroud)
我希望得到与功能相同的结果:
create_dict_from_variables(first_name, second_name)
Run Code Online (Sandbox Code Playgroud)
无论如何都要这样做?
我正在使用python 2.7我在python中编写了一些查询
q = '''
select * from users where user_name = %(user_name)s and user_email = %(user_email)s
'''
Run Code Online (Sandbox Code Playgroud)
我想分两步格式化字符串:
q2 = q % {'user_name':'david'}
q3 = q2 % {'user_email':'sss@sss.com'}
Run Code Online (Sandbox Code Playgroud)
我写的例子不起作用.python throws KeyError有没有其他选项来执行这些任务?