1
我只是想在pandas DataFrame中執行一個簡單的值修改操作。嘗試設置數據幀值時「嘗試在來自DataFrame的切片的副本上設置值」
import pandas as pd
import numpy as np
x = np.linspace(1,10,10)
y = x * 2
z = [-1,-2,-3,4,5,6,7,8,9,10]
df = pd.DataFrame(columns=['x','y','z'])
df['x'] = x
df['y'] = y
df['z'] = z
for i in range(len(df['z'])):
if df['z'].iloc[i] < 0:
df['x'].iloc[i] *= -1
df['y'].iloc[i] *= -1
df['z'].iloc[i] *= -1
但是它警告說:SettingWithCopyWarning: 值正試圖從一個數據幀 我不知道如何鏈式分配在這種情況下被用於對切片的副本設置。
它給了我正確的答案,但顯着更慢。
感謝