我是python和pandas库的新手。例如,我有12000行和3列:
A B C
Husband Test1 $1200
Kids Test1 $1288
Wife Test1 $1232
Cousin Test1 $3265预期结果:
A B C
Husband Test1 $1200
Wife Test1 $1232
Kids Test1 $1288
Cousin Test1 $3265A B C
Husband Test2 $1200
Kids Test2 $1288
Cousin Test2 $3265
Wife Test2 $1232预期结果:
A B C
Husband Test2 $1200
Wife Test2 $1232
Kids Test2 $1288
Cousin Test2 $3265因此,只要我看到“妻子”这个词,我就希望整个行移到“丈夫”下面。我已经使用了上面的两个例子。这是我到目前为止所拥有的
import pandas as pd
df = pd.read_csv("Test.csv")
df1=pd.DataFrame()
df1 = df.append(df[df["Relationship"] == "Husband"])
df1 = df.append(df[df["Relationship"] == "Wife"])
df1 = df.append(df[df["Relationship"] == "Kids"])
df1 = df.append(df[df["Relationship"] == "Cousin"])
print(df1)发布于 2021-11-18 08:16:21
对列A的指定自定义顺序使用有序的类别,以便DataFrame.sort_values获得指定的顺序:
df = pd.read_csv("Test.csv")
df['A'] = pd.Categorical(df.A, ordered=True, categories=['Husband','Wife','Kids','Cousin'])
df = df.sort_values(['B','A'], ignore_index=True)
print (df)
A B C
0 Husband Test1 $1200
1 Wife Test1 $1232
2 Kids Test1 $1288
3 Cousin Test1 $3265https://stackoverflow.com/questions/70016479
复制相似问题