簡體   English   中英

循環並修改列的每個元素

[英]Looping through and modify each element of a column

給定這樣的數據集

import pandas as pd
d = {'description': ["abcd","efgh","ijkl"], 'code': ["A","K","Z"]}
df = pd.DataFrame(data=d)


  description   code
0   abcd          A
1   efgh          K
2   ijkl          Z

我的目標是得到這個

   description  code
0   "abcd"        A
1   "efgh"        K
2   "ijkl"        Z

這段代碼只是打印出我的目標

for row in df["description"]:   #accessing to each row
    print(f'"{row}"')           #"modifying" each row

這就是產生

"abcd"
"efgh"
"ijkl"

我試圖設置這樣的東西,但它不正確

rows = df.shape[0]
i = 0
while i < rows:
     f'"{df.loc[i,"description"]}"'
#wrong

或類似的東西

df1["description"]=df1["description"].apply(lambda ??

你可以簡單地試試這個:

df['description1'] = '"'+ df['description'] + '"'
df

  description code description1
0        abcd    A       "abcd"
1        efgh    K       "efgh"
2        ijkl    Z       "ijkl"

通過行迭代,您可以執行以下操作:

for i, row in df.iterrows():
  new_val = something
  if <condition>:
    new_val = something_else
  df.at[i,'description'] = new_val

使用你的 while 循環,它看起來像這樣:

rows = df.shape[0]
i = 0
while i < rows:
    df.iloc[i,:]['description'] = '"' + df.iloc[i,:]['description'] + '"'
    i = i+1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM