Yun*_*ang 2 python dataframe pandas
我必须复制列中具有特定值的行,并将该值替换为另一个值.
例如,我有这些数据:
import pandas as pd
df = pd.DataFrame({'Date': [1, 2, 3, 4], 'B': [1, 2, 3, 2], 'C': ['A','B','C','D']})
Run Code Online (Sandbox Code Playgroud)
现在,我想复制"B"列中有2的行,然后将2更改为4
df = pd.DataFrame({'Date': [1, 2, 2, 3, 4, 4], 'B': [1, 2, 4, 3, 2, 4], 'C': ['A','B','B','C','D','D']})
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题.谢谢.
您可以使用append,追加其中的行B == 2,你可以使用提取loc,同时也重新分配B到4使用assign.如果订单很重要,您可以订购C(重现您想要的框架):
>>> df.append(df[df.B.eq(2)].assign(B=4)).sort_values('C')
B C Date
0 1 A 1
1 2 B 2
1 4 B 2
2 3 C 3
3 2 D 4
3 4 D 4
Run Code Online (Sandbox Code Playgroud)