是否可以附加到不包含任何索引或列的空数据框?
我试图这样做,但最后继续得到一个空的数据帧.
例如
df = pd.DataFrame()
data = ['some kind of data here' --> I have checked the type already, and it is a dataframe]
df.append(data)
Run Code Online (Sandbox Code Playgroud)
结果如下:
Empty DataFrame
Columns: []
Index: []
Run Code Online (Sandbox Code Playgroud) 我有一个脚本,我在其中为每个用户提取值并在列表中添加它但我得到"'NoneType'对象没有属性'append'".我的代码就像
last_list=[]
if p.last_name==None or p.last_name=="":
pass
last_list=last_list.append(p.last_name)
print last_list
Run Code Online (Sandbox Code Playgroud)
我想在列表中添加姓氏.如果没有,那么就不要在列表中添加它.请帮助注意:p是我用来从我的模块获取信息的对象,其中包含所有first_name,last_name,age等....请建议....提前感谢
是否有理由进行list.append评估?或者只是在成功发挥作用时返回0的C约定?
>>> u = []
>>> not u.append(6)
True
Run Code Online (Sandbox Code Playgroud) 我有 3 个 sqlalchemy 模型设置,它们都是一对多关系。用户模型包含许多任务模型,任务模型包含许多子任务模型。当我执行 test_script.py 时,出现错误sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.NoneType' is not mapped。
我已经阅读并尝试了每个模块上的一些不同的关系。我的目标是能够在用户和任务模型中包含包含其正确子项的列表。我最终想访问列表项,例如user_x.task[3].subtask[1]
这是代码,(模型、脚本、错误)
楷模
class User(Base):
""" User Model for storing user related details """
__tablename__ = 'Users'
id = Column(Integer, primary_key=True, autoincrement=True, nullable=False)
username = Column(String(255), nullable=False)
password_hash = Column(String(128), nullable=False)
email = Column(String(255), nullable=False, unique=True)
created_date = Column(DateTime, default=datetime.utcnow)
tasks = relationship(Task, backref=backref("Users", uselist=False))
def __init__(self, username: str, password_hash: str, email: str):
self.username = username
self.password_hash = password_hash
self.email = email
class Task(Base):
""" …Run Code Online (Sandbox Code Playgroud) 我对导致这种情况的思维过程感兴趣.对我来说,一个相对新手,似乎阻碍了,因为它阻止了列表处理的"链接"(例如mylist.reverse().append('a string')[:someLimit]).我想可能是"那些人的力量"决定列表理解是一个更好的范例(一个有效的观点),所以不想鼓励其他方法 - 但是这似乎有悖常理,以防止一种直观的方法,即使更好存在替代品.
请注意,我不是在抱怨(我敢肯定有是一个合理的理由,我在它是什么只是感兴趣!),也不是寻找一个解决方案(意见在这里非常具有启发性) -只是寻找一些情况下,并深入理解语言的设计过程.
我尝试使用python计算postfix expresion,但它无法工作.我想这可能是一个与python相关的问题,有什么建议吗?
expression = [12, 23, 3, '*', '+', 4, '-', 86, 2, '/', '+']
def add(a,b):
return a + b
def multi(a,b):
return a* b
def sub(a,b):
return a - b
def div(a,b):
return a/ b
def calc(opt,x,y):
calculation = {'+':lambda:add(x,y),
'*':lambda:multi(x,y),
'-':lambda:sub(x,y),
'/':lambda:div(x,y)}
return calculation[opt]()
def eval_postfix(expression):
a_list = []
for one in expression:
if type(one)==int:
a_list.append(one)
else:
y=a_list.pop()
x= a_list.pop()
r = calc(one,x,y)
a_list = a_list.append(r)
return content
print eval_postfix(expression)
Run Code Online (Sandbox Code Playgroud)
希望有人可以帮帮我!任何建议都会被批准
>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
但:
>>> [1, 2, 3].append(4)
>>>
Run Code Online (Sandbox Code Playgroud)
为什么listPython中的方法(例如insert和append)仅适用于已定义的变量?
为什么print [1].append(2)评价为无?我预计[1,2]
>>> print [1].append(2)
None
Run Code Online (Sandbox Code Playgroud) 有什么办法可以替换以下内容:
names = ['john', 'mike', 'james']
names.append('dan')
print(names)
Run Code Online (Sandbox Code Playgroud)
使用与此类似的单行(将打印None)?:
names = ['john', 'mike', 'james'].append('dan')
print(names)
Run Code Online (Sandbox Code Playgroud) 这是我的代码:
def list_test(foo):
bar = foo.append('w')
return bar
my_input = [7,8,9]
Run Code Online (Sandbox Code Playgroud)
当我运行它:
>>>print list_test(my_input)
None
Run Code Online (Sandbox Code Playgroud)
这是打印输出None.为什么?我该如何解决这个问题?
注意:我需要的输出是:7,8,9,'w'
谢谢.