Articles of encadenado asignación

df.loc provoca un mensaje de advertencia SettingWithCopyWarning

La siguiente línea de mi código provoca una advertencia: import pandas as pd s = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list(‘ABCD’)) s.loc[-1] = [5,np.nan,np.nan,6] grouped = s.groupby([‘A’]) for key_m, group_m in grouped: group_m.loc[-1] = [10,np.nan,np.nan,10] C:\Anaconda3\lib\site-packages\ipykernel\__main__.py:10: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame De acuerdo con la documentación, […]

Comprobando si el dataframe es copiar o ver en Pandas

¿Hay una manera fácil de verificar si dos marcos de datos son copias diferentes o vistas de los mismos datos subyacentes que no involucran manipulaciones? Estoy tratando de controlar cuándo se genera cada uno, y dada la idiosincrásica que parecen ser las reglas, me gustaría una forma fácil de probar. Por ejemplo, pensé que “id […]

Confusión re: pandas copia de rebanada de advertencia de dataframe

He revisado un montón de preguntas y respuestas relacionadas con este problema, pero sigo encontrando que estoy recibiendo esta copia de advertencia de corte en lugares donde no lo espero. Además, está apareciendo en un código que funcionaba bien para mí anteriormente, lo que me lleva a preguntarme si algún tipo de actualización podría ser […]

Manera correcta de establecer el valor en una porción en pandas

Tengo un dataframe pandas: datos. tiene columnas [“nombre”, ‘A’, ‘B’] Lo que quiero hacer (y funciona) es: d2 = data[data[‘name’] == ‘fred’] #This gives me multiple rows d2[‘A’] = 0 Esto establecerá la columna A en las filas de fred a 0. También he hecho: indexes = d2.index data[‘A’][indexes] = 0 Sin embargo, ambos me […]

Extracción de columnas seleccionadas específicas a un nuevo DataFrame como una copia

Tengo un DataFrame de pandas con 4 columnas y quiero crear un nuevo DataFrame que solo tenga tres de las columnas. Esta pregunta es similar a: Extraer columnas específicas de un dataframe, pero para pandas no para R. El siguiente código no funciona, genera un error y ciertamente no es la forma pandasnica de hacerlo. […]

Acción con pandas SettingWithCopyWarning

Intento delete alguna columna y convertir algún valor en columna con df2.drop(df2.columns[[0, 1, 3]], axis=1, inplace=True) df2[‘date’] = df2[‘date’].map(lambda x: str(x)[1:]) df2[‘date’] = df2[‘date’].str.replace(‘:’, ‘ ‘, 1) df2[‘date’] = pd.to_datetime(df2[‘date’]) y a toda esta cadena me sale df2.drop(df2.columns[[0, 1, 3]], axis=1, inplace=True) C:/Users/ /Desktop/projects/youtube_log/filter.py:11: SettingWithCopyWarning: A value is trying to be set on a copy […]

Las pandas siguen recibiendo SettingWithCopyWarning incluso después de usar .loc

Al principio, intenté escribir un código que se veía así: import numpy as np import pandas as pd np.random.seed(2016) train = pd.DataFrame(np.random.choice([np.nan, 1, 2], size=(10, 3)), columns=[‘Age’, ‘SibSp’, ‘Parch’]) complete = train.dropna() complete[‘AgeGt15’] = complete[‘Age’] > 15 Después de obtener SettingWithCopyWarning, intenté usar.loc: complete.loc[:, ‘AgeGt15’] = complete[‘Age’] > 15 complete.loc[:, ‘WithFamily’] = complete[‘SibSp’] + complete[‘Parch’] […]

Pandas: Subindexando los marcos de datos: Copias vs vistas

Digamos que tengo un dataframe import pandas as pd import numpy as np foo = pd.DataFrame(np.random.random((10,5))) y creo otro dataframe a partir de un subconjunto de mis datos: bar = foo.iloc[3:5,1:4] ¿ bar tiene una copia de esos elementos de foo ? ¿Hay alguna manera de crear una view de esos datos en su lugar? […]

Agregar una nueva columna al DataFrame existente en los pandas de Python

Tengo el siguiente DataFrame indexado con columnas nombradas y filas con números no continuos: abcd 2 0.671399 0.101208 -0.181532 0.241273 3 0.446172 -0.243316 0.051767 1.577318 5 0.614758 0.075793 -0.451460 -0.012493 Me gustaría agregar una nueva columna, ‘e’ , al dataframe existente y no quiero cambiar nada en el dataframe (es decir, la nueva columna siempre […]

¿Cómo lidiar con SettingWithCopyWarning en Pandas?

Fondo Acabo de actualizar mis Pandas de 0.11 a 0.13.0rc1. Ahora, la aplicación está apareciendo muchas nuevas advertencias. A uno de ellos le gusta esto: E:\FinReporter\FM_EXT.py:449: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_index,col_indexer] = value instead quote_df[‘TVol’] = quote_df[‘TVol’]/TVOL_SCALE Quiero saber qué […]