Создать быстрые клавиши Windows [дубликат]

Начиная с v0.17, convert_objects устарел.

blockquote>

Чтобы преобразовать серию в числовое значение, используйте pd.to_numeric с помощью кнопки errors='coerce' -

s = pd.Series(['1','2','3','4','.'])
pd.to_numeric(s, errors='coerce')

0    1.0
1    2.0
2    3.0
3    4.0
4    NaN
dtype: float64

Если вам нужно заполнить NaN s, используйте pd.Series.fillna -

pd.to_numeric(s, errors='coerce').fillna(0, downcast='infer')

0    1
1    2
2    3
3    4
4    0
dtype: float64

Примечание. downcast='infer' попытается сбрасывать поплавки к целым числам, где это возможно. Удалите аргумент, если вы этого не хотите.


pd.DataFrame

В случае, если кто-то заинтересован в том, как продлить это на dataframes, вот как -

df = pd.DataFrame({'A' : np.random.choice(10, 10), 
                   'B' : ['1', '2', '3', '4', '###', '...', 50, '234', '34', '23'], 
                   'C' : np.random.choice(10, 10), 
                   'D' : ['23', '1', '...', '268', '34', '21', '$$', '34', '4567', '0']})
df

   A    B  C     D
0  2    1  2    23
1  9    2  0     1
2  2    3  4   ...
3  9    4  9   268
4  0  ###  3    34
5  8  ...  6    21
6  5   50  2    $$
7  3  234  4    34
8  4   34  9  4567
9  8   23  0     0

df.dtypes

A     int64
B    object
C     int64
D    object
dtype: object

Если вы не знаете, какие столбцы не являются числовыми, запросите dtypes и получите маску -

df.dtypes.eq(object)

A    False
B     True
C    False
D     True
dtype: bool

cols = df.columns[df.dtypes.eq(object)]
cols
Index(['B', 'D'], dtype='object')

Теперь используйте маску для фильтрации по столбцам и apply pd.to_numeric -

df[cols] = df[cols].apply(pd.to_numeric, errors='coerce', axis=0)

Или,

for c in cols:
    df[c] = pd.to_numeric(df[c], errors='coerce')

df

   A      B  C       D
0  2    1.0  2    23.0
1  9    2.0  0     1.0
2  2    3.0  4     NaN
3  9    4.0  9   268.0
4  0    NaN  3    34.0
5  8    NaN  6    21.0
6  5   50.0  2     NaN
7  3  234.0  4    34.0
8  4   34.0  9  4567.0
9  8   23.0  0     0.0

Применение pd.to_numeric вдоль столбцов должно быть немного быстрее в течение длительного времени dataframes. Для широких фреймов данных используйте axis=1.

0
задан Mayura Vivekananda 27 March 2016 в 06:20
поделиться

1 ответ

Ссылка Shell32.dll из файловой системы, перейдите на вкладку COM диалогового окна «Добавить ref ...» и выберите компонент под названием «Microsoft Shell Controls and Automation»

string destPath = @"c:\temp";
string shortcutName = @"नमस्ते.lnk";

// Create empty .lnk file
string path = System.IO.Path.Combine(destPath, shortcutName);
System.IO.File.WriteAllBytes(path, new byte[0]);
// Create a ShellLinkObject that references the .lnk file
Shell32.Shell shl = new Shell32.ShellClass();
Shell32.Folder dir = shl.NameSpace(destPath);
Shell32.FolderItem itm = dir.Items().Item(shortcutName);
Shell32.ShellLinkObject lnk = (Shell32.ShellLinkObject)itm.GetLink;
// Set the .lnk file properties
lnk.Path = Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\notepad.exe";
lnk.Description = "nobugz was here";
lnk.Arguments = "sample.txt";
lnk.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
lnk.Save(path);
1
ответ дан Eminem 25 August 2018 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: