<jupyter_start><jupyter_text>PYTHON Pandas - YenilemePandas nesneler üzerinde temel yineleme davranışı türüne bağlıdır. Bir dizi üzerinde yineleme yaparken, dizi benzeri olarak kabul edilir ve temel yineleme değerleri üretir. DataFrame ve Panel gibi diğer veri yapıları, nesnelerin anahtarları üzerinde yineleme dict benzeri kuralı izler.temel yineleme üretir:- Series: values(değerler)- DataFrame: columns labels(sütun etiketleri)- Panel: Item labels(ürün etiketleri) DataFrame YenilemeBir DataFrame yinelemek sütun adlarını verir. Bunu anlamak için aşağıdaki örneği ele alalım.<jupyter_code>import pandas as pd
import numpy as np
 
N=20
df = pd.DataFrame({
   'A': pd.date_range(start='2016-01-01',periods=N,freq='D'),
   'x': np.linspace(0,stop=N-1,num=N),
   'y': np.random.rand(N),
   'C': np.random.choice(['Low','Medium','High'],N).tolist(),
   'D': np.random.normal(100, 10, size=(N)).tolist()
   })

for col in df:
   print(col)<jupyter_output>A
x
y
C
D<jupyter_text>DataFrame satırlarını yinelemek için aşağıdaki işlevleri kullanabiliriz.- iteritems() : (anahtar,değer) çiftleri üzerinde yineleme yapmak için- iterrows()  : satırları (dizin,seri) çiftleri olarak yinelemek için- itertuples(): satırların üzerinde namedtuples olarak yinelemek için iteritems()Her sütunun üzerinde anahtar, anahtar olarak etiket ve bir seri nesnesi olarak sütun değeri ile değer çifti olarak yinelenir.<jupyter_code>import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.randn(4,3),columns=['col1','col2','col3'])
for key,value in df.iteritems():
   print(key,value)
   print('--------------------------')<jupyter_output>col1 0   -0.133313
1    1.710906
2   -0.477559
3    0.512374
Name: col1, dtype: float64
--------------------------
col2 0    0.046859
1   -0.470868
2    0.104145
3   -0.688121
Name: col2, dtype: float64
--------------------------
col3 0    0.913105
1    1.713413
2    0.232798
3    0.097052
Name: col3, dtype: float64
--------------------------<jupyter_text>Gözlemleyin, her sütun bir seride bir anahtar değer çifti olarak ayrı ayrı yinelenir. iterrows()ıterrows (), her satırdaki verileri içeren bir dizi ile birlikte her dizin değerini veren yineleyiciyi döndürür.<jupyter_code>import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3'])
for row_index,row in df.iterrows():
   print(row_index,row)
   print('--------------------------')<jupyter_output>0 col1    1.044478
col2   -0.017295
col3   -0.913892
Name: 0, dtype: float64
--------------------------
1 col1    0.312612
col2    0.373549
col3   -0.410541
Name: 1, dtype: float64
--------------------------
2 col1    1.359357
col2   -0.793808
col3   -0.204954
Name: 2, dtype: float64
--------------------------
3 col1   -0.874354
col2   -0.006749
col3    0.982846
Name: 3, dtype: float64
--------------------------<jupyter_text>Iterrows () satırların üzerinde yinelediği için, veri türünü satır boyunca korumaz. 0,1,2 satır indeksleri ve col1, col2, col3 sütun indeksleridir. itertuples()ıtertuples() yöntemi, dataframe'deki her satır için adlandırılmış bir tanımlama grubu oluşturan bir yineleyici döndürür. Dizenin ilk öğesi satırın karşılık gelen dizin değeri olurken, kalan değerler satır değerleridir.<jupyter_code>import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3'])
for row in df.itertuples():
    print(row)<jupyter_output>Pandas(Index=0, col1=1.0143173273672406, col2=0.04783656533136035, col3=1.7073164648808785)
Pandas(Index=1, col1=-0.27083535796141733, col2=0.6643008009140688, col3=1.1902990092930497)
Pandas(Index=2, col1=-0.908381539015399, col2=0.01874406178219626, col3=-0.8798245023983314)
Pandas(Index=3, col1=-0.14830784390349147, col2=-0.6040251088702244, col3=-0.03068245741241976)<jupyter_text>**Not:**Yineleme sırasında herhangi bir nesneyi değiştirmeye çalışmayın. Yineleme okumak içindir ve yineleyici orijinal nesnenin (bir görünüm) bir kopyasını döndürür, böylece değişiklikler orijinal nesneye yansıtılmaz.<jupyter_code>import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3'])

for index, row in df.iterrows():
   row['a'] = 10
df<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.157311320754717, 'fraction_numerical': 0.11533018867924529, 'mean_word_length': 3.8747126436781607, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '613347', 'license': 'MIT', 'n_tokens_mistral': 2052, 'n_tokens_neox': 1762, 'n_words': 400, 'path': '8-Yenileme.ipynb', 'repo_name': 'Furkan-Gulsen/pandas-dokumantasyonu', 'size': '4240'}