假设我有一个数据框:
A B C D E F
0 x R i R nan h
1 z g j x a nan
2 z h nan y nan nan
3 x g nan nan nan nan
4 x x h x s f
Run Code Online (Sandbox Code Playgroud)
我想替换所有单元格:
df.loc[0] == 'R')!= 'x')与np.nan.
基本上我想做:
df.loc[2:,df.loc[0]=='R']!='x' = np.nan
Run Code Online (Sandbox Code Playgroud)
我收到错误:
SyntaxError: can't assign to comparison
Run Code Online (Sandbox Code Playgroud)
我只是不知道语法应该如何。
我试过了
df[df.loc[2:,df.loc[0]=='R']!='x']
Run Code Online (Sandbox Code Playgroud)
但这并没有列出我想要的值。
我有一本包含键和值的字典,例如:
my_dict = {'a':33, 'b': 'something', 'c': GETDATE(), 'd': 55}
Run Code Online (Sandbox Code Playgroud)
假设SQL表中的列名也像字典的键一样命名,即“a,b,c,d”。
实际的字典有 20 多个键:值对。
我已经使用pyodbc.connect创建了一个cursor可以用来执行 SQL INSERT 语句的文件:
for k in my_dict.keys():
cursor.execute(
'''
INSERT INTO TABLEabc (%s)
VALUES (%s)
'''
% (k, my_dict[k])
)
Run Code Online (Sandbox Code Playgroud)
但这看起来效率很低,因为每次都是一个新的 SQL 操作。