格式化数据框Pandas



我读取了一个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

最新更新