1
我有一個熊貓數據框,我需要修改給定列中的所有值。每列將包含一個相同長度的字符串值。用戶爲每個值提供他們想要替換的索引:例如:[1:3]
和替換值"AAA"
。熊貓 - 修改每個單元格中的字符串值
這將替換值爲1到3的字符串,值爲AAA
。
如何使用applymap,map或apply函數來完成此操作?
感謝
這裏是我去了使用答案的最終解決方案如下標註:
import pandas as pd
df = pd.DataFrame({'A':['ffgghh','ffrtss','ffrtds'],
#'B':['ffrtss','ssgghh','d'],
'C':['qqttss',' 44','f']})
print df
old = ['g', 'r', 'z']
new = ['y', 'b', 'c']
vals = dict(zip(old, new))
pos = 2
for old, new in vals.items():
df.ix[df['A'].str[pos] == old, 'A'] = df['A'].str.slice_replace(pos,pos + len(new),new)
print df
謝謝你,不知道這個功能... – MaxU
@root - 偉大的答案,是有可能的條件添加到此也就是說,如果位置1是「A」而不是「B」? –
您是否只有一個條件,如if-else語句或多個條件,如if-elif-else語句? – root