我读取了一个csv文件,产生了以下数据帧(实际数据帧要大得多)-
df1 =
Index Country Age Height
0 Bob nan nan
1 nan nan nan
2 Bill nan nan
3 nan nan nan
4 Jack nan nan
5 nan nan nan
6 Mary nan nan
7 nan nan nan
8 USA 10 20
9 UK 5 10
10 Canada 12 15
11 Peru 20 25
我想格式化daraframe,使其具有以下输出-
df_formatted =
Index Name Country Age Height
0 Bob USA 10 20
1 Bill UK 5 10
2 Jack Canada 12 15
3 Mary Peru 20 25
对于一个大数据框架来说,什么是一种有效的方法?提前谢谢你。
我假设名字的数量与国家的数量相同:
df = df.set_index("Index").dropna(how="all")
df = pd.concat(
[
df.iloc[: len(df) // 2, [0]]
.rename(columns={"Country": "Name"})
.reset_index(drop=True),
df[len(df) // 2 :].reset_index(drop=True),
],
axis=1,
)
print(df)
打印:
Name Country Age Height
0 Bob USA 10.0 20.0
1 Bill UK 5.0 10.0
2 Jack Canada 12.0 15.0
3 Mary Peru 20.0 25.0