![](/img/trans.png)
[英]How to replace values in pandas dataframe with another dataframe
[英]How to replace values in pandas dataframe
我的目標是設計一個程序,該程序將創建一個程序來替換熊貓數據框中的唯一值。
以下代碼執行操作
# replace values
print(f" {s1['A1'].value_counts().index}")
for i in s1['A1'].value_counts().index:
s1['A1'].replace(i,1)
print(f" {s2['A1'].value_counts().index}")
for i in s2['A1'].value_counts().index:
s2['A1'].replace(i,2)
print("s1 after replacing values")
print(s1)
print("******************")
print("s2 after replacing values")
print(s2)
print("******************")
預期:第一個數據幀s1
的值應替換為 1s。 第二個數據幀s2
的值應替換為 2s。
實際的:
Int64Index([8, 5, 2, 7, 6], dtype='int64')
Int64Index([2, 8, 5, 6, 7, 4, 3], dtype='int64')
s1 after replacing values
A1 A2 A3 Class
3 5 0.440671 2.3 1
9 8 0.070035 2.9 1
14 2 0.868410 1.5 1
29 6 0.587487 2.6 1
34 8 0.652936 3.0 1
38 8 0.181508 3.0 1
45 8 0.953230 3.0 1
54 7 0.737604 2.7 1
68 5 0.187475 2.2 1
70 5 0.511385 2.3 1
71 8 0.688134 3.0 1
73 2 0.054908 1.5 1
87 8 0.461797 3.0 1
90 2 0.756518 1.5 1
91 2 0.761448 1.5 1
93 5 0.858036 2.3 1
94 5 0.306459 2.2 1
98 5 0.692804 2.2 1
******************
s2 after replacing values
A1 A2 A3 Class
0 2 0.463134 1.5 3
1 8 0.746065 3.0 3
2 6 0.264391 2.5 2
4 2 0.410438 1.5 3
5 2 0.302902 1.5 2
.. .. ... ... ...
92 5 0.775842 2.3 2
95 5 0.844920 2.2 2
96 5 0.428071 2.2 2
97 5 0.356044 2.2 3
99 5 0.815400 2.2 3
任何幫助理解如何替換這些數據框中的值將不勝感激。 謝謝你。
鑒於有關替換方法的文檔,這可能會令人困惑。 您需要重新分配數據框。
# replace values
print(f" {s1['A1'].value_counts().index}")
for i in s1['A1'].value_counts().index:
print(f"s1['A1'].replace({i},1)")
s1['A1'] = s1['A1'].replace(i,1)
print(f" {s2['A1'].value_counts().index}")
for i in s2['A1'].value_counts().index:
print(f"s2['A1'].replace({i},2)")
s2['A1'] = s2['A1'].replace(i,2)
文檔沒有說: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.replace.html 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.