Python 当特定列达到给定值时拆分熊猫框架
我想为数据帧的两个特定部分使用两种不同的仓位大小Python 当特定列达到给定值时拆分熊猫框架,python,pandas,dataframe,Python,Pandas,Dataframe,我想为数据帧的两个特定部分使用两种不同的仓位大小df.cut()。我认为最简单的方法是读取我的数据帧并将其拆分为两个,这样我就可以在两个独立的数据帧中使用df.cut() 我知道我可以使用df.head(),但我必须不断更改数据帧,它们的大小并不总是相同的。例如,使用以下数据帧 A B 1 0.1 0.423655 2 0.2 0.645894 3 0.3 0.4375
df.cut()
。我认为最简单的方法是读取我的数据帧并将其拆分为两个,这样我就可以在两个独立的数据帧中使用df.cut()
我知道我可以使用df.head(),但我必须不断更改数据帧,它们的大小并不总是相同的。例如,使用以下数据帧
A B
1 0.1 0.423655
2 0.2 0.645894
3 0.3 0.437587
4 0.31 0.891773
5 0.4 0.1773
6 0.43 0.91773
7 0.5 0.891773
我想要两个数据帧,其值大于或等于0.4,小于0.4
所以我会选择df2:
A B
1 0.1 0.423655
2 0.2 0.645894
3 0.3 0.437587
4 0.31 0.891773
和df3:
A B
1 0.4 0.1773
2 0.43 0.91773
3 0.5 0.891773
同样,df.head(4)或df.tail(3)也不起作用。我添加了一些虚构的数据作为示例:
data = {'A': [1,2,3,4,5,6,7,8], 'B': [5,8,9,10,11,12,13,14]}
df = pd.DataFrame(data)
df1 = df[df.A > 4]
df2 = df[df.A <13]
print(df1)
print(df2)
df2=df[df[“A”]<0.4]
df3=df[df[“A”]>=0.4]
这应该可以:
import pandas as pd
data = {'A': [0.1,0.2,0.1,0.2,5,6,7,8], 'B': [5,0.2,4,8,11,9,10,14]}
df = pd.DataFrame(data)
df2 = df[df.A >= 0.4]
print(df2)
# A B
#4 5.0 11.0
#5 6.0 9.0
#6 7.0 10.0
#7 8.0 14.0
df3 = df[df.A < 0.4]
print(df3)
# A B
#0 0.1 5.0
#1 0.2 0.2
#2 0.1 4.0
#3 0.2 8.0
将熊猫作为pd导入
数据={'A':[0.1,0.2,0.1,0.2,5,6,7,8],'B':[5,0.2,4,8,11,9,10,14]}
df=pd.DataFrame(数据)
df2=df[df.A>=0.4]
打印(df2)
#A B
#4 5.0 11.0
#5 6.0 9.0
#6 7.0 10.0
#7 8.0 14.0
df3=df[df.A<0.4]
打印(df3)
#A B
#0 0.1 5.0
#1 0.2 0.2
#2 0.1 4.0
#3 0.2 8.0
我刚刚得到一个带有false和true的df,就像这样:1 true 2 true 3 true 4 true 5 false 6 false
我不知道如何正确地在注释中写入数据帧。但我没有得到我想得到的结果,正如我在问题中所举例说明的那样。不幸的是,它没有得到。我事先不知道df['B']
的值。只有df['A']
我已经更正了我的代码。我认为,如果你正在寻找两个独立的数据帧,现在应该可以了。这是否回答了你的问题ziulfer?
df2 = df[df["A"] < 0.4]
df3 = df[df["A"] >= 0.4]
import pandas as pd
data = {'A': [0.1,0.2,0.1,0.2,5,6,7,8], 'B': [5,0.2,4,8,11,9,10,14]}
df = pd.DataFrame(data)
df2 = df[df.A >= 0.4]
print(df2)
# A B
#4 5.0 11.0
#5 6.0 9.0
#6 7.0 10.0
#7 8.0 14.0
df3 = df[df.A < 0.4]
print(df3)
# A B
#0 0.1 5.0
#1 0.2 0.2
#2 0.1 4.0
#3 0.2 8.0