在 Python 中每两行计算相同的数字
Counting every two rows with the same number in Python
我有一个数据框,其中每两行都是相关的。我试图给每两行一个唯一的 ID。我认为这会容易得多,但我无法弄清楚。假设我有这个数据框:
df = pd.DataFrame({'Var1': ['A', 2, 'C', 7], 'Var2': ['B', 5, 'D', 9]})
print(df)
Var1 Var2
A B
2 5
C D
7 9
我想添加一个 ID,生成如下所示的数据框:
df = pd.DataFrame({'ID' : [1,1,2,2],'Var1': ['A', 2, 'C', 7], 'Var2': ['B', 5, 'D', 9]})
print(df)
ID Var1 Var2
1 A B
1 2 5
2 C D
2 7 9
这只是一个示例,但每两行都是相关的,因此只需尝试在 ID 列中按 1、1、2、2、3、3 等进行计数。
感谢您的帮助!
可以先创建一个数列,然后除以2(整数除法):
import numpy as np
df['ID'] = np.arange(len(df)) // 2 + 1
df
# Var1 Var2 ID
#0 A B 1
#1 2 5 1
#2 C D 2
#3 7 9 2
我不认为 think 是本机的 Pandas 方法,但这行得通...
import pandas as pd
df = pd.DataFrame({'Var1': ['A', 2, 'C', 7], 'Var2': ['B', 5, 'D', 9]})
df['ID'] = 1 + df.index // 2
df[['ID', 'Var1', 'Var2']]
输出:
ID Var1 Var2
0 1 A B
1 1 2 5
2 2 C D
3 2 7 9
我有一个数据框,其中每两行都是相关的。我试图给每两行一个唯一的 ID。我认为这会容易得多,但我无法弄清楚。假设我有这个数据框:
df = pd.DataFrame({'Var1': ['A', 2, 'C', 7], 'Var2': ['B', 5, 'D', 9]})
print(df)
Var1 Var2
A B
2 5
C D
7 9
我想添加一个 ID,生成如下所示的数据框:
df = pd.DataFrame({'ID' : [1,1,2,2],'Var1': ['A', 2, 'C', 7], 'Var2': ['B', 5, 'D', 9]})
print(df)
ID Var1 Var2
1 A B
1 2 5
2 C D
2 7 9
这只是一个示例,但每两行都是相关的,因此只需尝试在 ID 列中按 1、1、2、2、3、3 等进行计数。
感谢您的帮助!
可以先创建一个数列,然后除以2(整数除法):
import numpy as np
df['ID'] = np.arange(len(df)) // 2 + 1
df
# Var1 Var2 ID
#0 A B 1
#1 2 5 1
#2 C D 2
#3 7 9 2
我不认为 think 是本机的 Pandas 方法,但这行得通...
import pandas as pd
df = pd.DataFrame({'Var1': ['A', 2, 'C', 7], 'Var2': ['B', 5, 'D', 9]})
df['ID'] = 1 + df.index // 2
df[['ID', 'Var1', 'Var2']]
输出:
ID Var1 Var2
0 1 A B
1 1 2 5
2 2 C D
3 2 7 9