次の列のデータフレームがあります。2つの条件に基づいた列を持つ新しいDataFrame
AA BB CC DD EE FF HH
私は、列BB
と列FF
でソートするに"CT"
を持っているすべての行を選択する必要があります。
私の人生のために、私はこれを行う方法を理解することができません。 非常にシンプルなようですが、私は何かを逃しています。
ご協力いただきまして誠にありがとうございます。
次の列のデータフレームがあります。2つの条件に基づいた列を持つ新しいDataFrame
AA BB CC DD EE FF HH
私は、列BB
と列FF
でソートするに"CT"
を持っているすべての行を選択する必要があります。
私の人生のために、私はこれを行う方法を理解することができません。 非常にシンプルなようですが、私は何かを逃しています。
ご協力いただきまして誠にありがとうございます。
これは動作するはずです:
df[df["BB"] == "CT"].sort_values(["FF"])
はCT
を持つ行を選択するには、それはすなわち、長い文字列のCT
ことができる場合は、
df[ df['BB'] == 'CT' ]
を使用したりすることができます。 CTX
df[ df['BB'].str.contains('CT') ]
そして、あなたは後に開始
AA BB CC DD EE FF HH
0 1 1 1 1 0 1
1 2 CT 2 2 2 1 2
2 3 3 3 3 0 3
3 4 CT 4 4 4 5 4
4 5 CT 5 5 5 2 5
5 6 6 6 6 0 6
6 7 7 7 7 0 7
7 8 CT 8 8 8 7 8
でデータsort_values()
.sort_values('FF')
全例
import pandas as pd
data = {
'AA': [1, 2, 3, 4, 5, 6, 7, 8],
'BB': ["", "CT", "", "CT", "CT", "", "", "CT"],
'CC': [1, 2, 3, 4, 5, 6, 7, 8],
'DD': [1, 2, 3, 4, 5, 6, 7, 8],
'EE': [1, 2, 3, 4, 5, 6, 7, 8],
'FF': [0, 1, 0, 5, 2, 0, 0, 7],
'HH': [1, 2, 3, 4, 5, 6, 7, 8],
}
df = pd.DataFrame(data)
print(df)
print(df[ df['BB'] == 'CT' ])
print(df[ df['BB'] == 'CT' ].sort_values('FF'))
を使用して、それを並べ替えることができます
AA BB CC DD EE FF HH
1 2 CT 2 2 2 1 2
3 4 CT 4 4 4 5 4
4 5 CT 5 5 5 2 5
7 8 CT 8 8 8 7 8
あなたが何をしようとしなかった
AA BB CC DD EE FF HH
1 2 CT 2 2 2 1 2
4 5 CT 5 5 5 2 5
3 4 CT 4 4 4 5 4
7 8 CT 8 8 8 7 8
をソートした後? – furas