Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri
Azure SQL Yönetimli Örnek
Bu hızlı başlangıçta SQL Server Machine Learning Services, Azure SQL Yönetilen Örneği Machine Learning Services veya SQL Server Büyük Veri Kümelerinde Python kullanırken veri yapılarını ve veri türlerini kullanmayı öğreneceksiniz. Python ile SQL Server arasında veri taşımayı ve oluşabilecek yaygın sorunları öğreneceksiniz.
SQL makine öğrenmesi, tablosal verilerle çalışmak için harika olan Python pandas paketine dayanır. Ancak, Python'dan veritabanınıza skaler geçiremez ve yalnızca çalışmasını bekleyebilirsiniz. Bu hızlı başlangıçta, Python ile veritabanı arasında tablo verileri geçirirken karşılaşabileceğiniz ek sorunlara hazırlanmak için bazı temel veri yapısı tanımlarını gözden geçireceksiniz.
Öne doğru bilinmesi gereken kavramlar şunlardır:
- Veri çerçevesi , birden çok sütunu olan bir tablodur.
- Veri çerçevesinin tek bir sütunu, seri olarak adlandırılan liste benzeri bir nesnedir.
- Veri çerçevesinin tek bir değeri hücre olarak adlandırılır ve dizin tarafından erişilir.
Data.frame tablosal bir yapı gerektiriyorsa, hesaplamanın tek sonucunu veri çerçevesi olarak nasıl kullanıma sunarsınız? Tek bir yanıt, tek skaler değeri bir seri olarak temsil etmektir ve bu değer kolayca bir veri çerçevesine dönüştürülür.
Uyarı
Tarihleri döndürürken, SQL'deki Python 1753-01-01(-53690) ile 9999-12-31 (2958463) arasında kısıtlı tarih aralığına sahip DATETIME kullanır.
Önkoşullar
Bu hızlı başlangıcı çalıştırmak için aşağıdaki önkoşullara ihtiyacınız vardır.
Bu platformlardan birinde bir SQL veritabanı:
- SQL Server Machine Learning Services. Yüklemek için Windows yükleme kılavuzuna veya Linux yükleme kılavuzuna bakın.
- SQL Server Büyük Veri Kümeleri. Nasıl yapıldığını görün: SQL Server Büyük Veri Kümelerinde Makine Öğrenimi Hizmetlerini etkinleştirme.
- Azure SQL Yönetilen Örneği Makine Öğrenimi Hizmetleri. Bilgi için bkz. Azure SQL Yönetilen Örnek Makine Öğrenimi Hizmetleri'ne genel bakış.
Python betikleri içeren SQL sorgularını çalıştırmaya yönelik bir araç. Bu hızlı başlangıçta Azure Data Studio kullanılır.
Seri olarak skaler değer
Bu örnek basit matematik işlemleri yapar ve skaler değerleri seriye dönüştürür.
Seriler, burada gösterildiği gibi el ile veya program aracılığıyla atayabileceğiniz bir dizin gerektirir.
EXECUTE sp_execute_external_script @language = N'Python' , @script = N' a = 1 b = 2 c = a/b print(c) s = pandas.Series(c, index =["simple math example 1"]) print(s) 'Seri bir data.frame'e dönüştürülemediğinden, değerler İletiler penceresinde döndürülür, ancak sonuçların daha tablo biçiminde olduğunu görebilirsiniz.
Results
STDOUT message(s) from external script: 0.5 simple math example 1 0.5 dtype: float64Serinin uzunluğunu artırmak için bir dizi kullanarak yeni değerler ekleyebilirsiniz.
EXECUTE sp_execute_external_script @language = N'Python' , @script = N' a = 1 b = 2 c = a/b d = a*b s = pandas.Series([c,d]) print(s) 'Bir dizin belirtmezseniz, 0 ile başlayan ve dizinin uzunluğuyla biten değerlere sahip bir dizin oluşturulur.
Results
STDOUT message(s) from external script: 0 0.5 1 2.0 dtype: float64Dizin değerlerinin sayısını artırırsanız ancak yeni veri değerleri eklemezseniz, veri değerleri seriyi doldurmak için yinelenir.
EXECUTE sp_execute_external_script @language = N'Python' , @script = N' a = 1 b = 2 c = a/b s = pandas.Series(c, index =["simple math example 1", "simple math example 2"]) print(s) 'Results
STDOUT message(s) from external script: 0.5 simple math example 1 0.5 simple math example 2 0.5 dtype: float64
Serileri veri çerçevesine dönüştürme
Skaler matematik sonuçlarını tablosal bir yapıya dönüştürdükten sonra, yine de bunları SQL makine öğrenmesinin işleyebileceği bir biçime dönüştürmeniz gerekir.
Seriyi data.frame'e dönüştürmek için pandas DataFrame yöntemini çağırın.
EXECUTE sp_execute_external_script @language = N'Python' , @script = N' import pandas as pd a = 1 b = 2 c = a/b d = a*b s = pandas.Series([c,d]) print(s) df = pd.DataFrame(s) OutputDataSet = df ' WITH RESULT SETS((ResultValue FLOAT))Sonuç aşağıda gösterilmiştir. Data.frame dizininden belirli değerleri almak için dizini kullansanız bile, dizin değerleri çıkışın bir parçası değildir.
Results
ResultValue 0,5 2
Değerleri veri çerçevesine yaz
Şimdi data.frame içindeki iki matematik sonucu serisinden belirli değerleri çıkaracaksınız. birincisi Python tarafından oluşturulan sıralı değerlerin dizinine sahiptir. İkincisi, dize değerlerinin rastgele bir dizinini kullanır.
Aşağıdaki örnek, tamsayı dizini kullanarak seriden bir değer alır.
EXECUTE sp_execute_external_script @language = N'Python' , @script = N' import pandas as pd a = 1 b = 2 c = a/b d = a*b s = pandas.Series([c,d]) print(s) df = pd.DataFrame(s, index=[1]) OutputDataSet = df ' WITH RESULT SETS((ResultValue FLOAT))Results
ResultValue 2.0 Otomatik oluşturulan dizinin 0'da başladığını unutmayın. Aralık dışı dizin değeri kullanmayı deneyin ve neler olduğunu görün.
Şimdi bir dize dizini kullanarak diğer veri çerçevesinden tek bir değer alın.
EXECUTE sp_execute_external_script @language = N'Python' , @script = N' import pandas as pd a = 1 b = 2 c = a/b s = pandas.Series(c, index =["simple math example 1", "simple math example 2"]) print(s) df = pd.DataFrame(s, index=["simple math example 1"]) OutputDataSet = df ' WITH RESULT SETS((ResultValue FLOAT))Results
ResultValue 0,5 Bu seriden bir değer almak için sayısal dizin kullanmaya çalışırsanız bir hata alırsınız.
Sonraki Adımlar
SQL makine öğrenmesi ile gelişmiş Python işlevleri yazma hakkında bilgi edinmek için şu hızlı başlangıcı izleyin: