Ниже приведено решение по столбцам с применением pandas:
import numpy as np
def strip_obj(col):
if col.dtypes == object:
return (col.astype(str)
.str.strip()
.replace({'nan': np.nan}))
return col
df = df.apply(strip_obj, axis=0)
Это преобразует значения в столбцы типа объекта в строку. Следует проявлять осторожность при использовании столбцов смешанного типа. Например, если ваша колонка - это почтовые индексы с 20001 и «21110», вы получите «20001» и «21110».
Существует большая разница. Запросы Select Linq-SQL могут быть большими деревьями сложных выражений. Они, которые могут взять когда-то, 'компилируя'. В этом объединении случая к некоторому T-SQL, который может быть выполнен против SQL Server. Таким образом, имеет смысл кэшировать результат операции так, чтобы это могло быть снова использовано.
Однако другой Удалять, Обновление и Вставка являются простыми операциями, которые не требуют, чтобы дерево выражений было преобразовано в T-SQL (сам LINQ - все о запросах). Его просто неудачный, что мы были обучены думать о коде SQL, который выполняет эти другие операции как 'запросы', мы не фактическая просьба ни о какой информации
, Эти операции только определяются DataContext не LINQ следовательно, код для выполнения этих функций уже компилируется.
Я думаю о трех, только вставка имела бы смысл мочь скомпилировать и снова использовать, потому что удаляют, тривиально просто (УДАЛИТЕ ИЗ Таблицы, ГДЕ Ключ...), и ОБНОВЛЯЮТ, только обновляет поля, которые изменились, и так варьируется на операцию обновления.
[) амин
L2S использует "sp_executeSQL" поэтому после выполнения его в первый раз, когда это будет в кэше плана выполнения хранимой процедуры. Последующие выполнения (того же запроса - не те же параметрические усилители) снова используют скомпилированный план от кэша. Таким образом, то, что Вы просите, автоволшебно обрабатывается SQL Server 'негласно'.