我想df.cut()
使用两个不同的bin大小来表示数据帧的两个特定部分。我相信最简单的方法是读取我的数据帧并将其拆分为两个,以便我可以在具有两个独立容器的两个独立数据帧中使用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
我希望有两个数据帧,其A值大于或等于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)无法正常工作。
答案 0 :(得分:3)
Files.writeString
答案 1 :(得分:1)
我添加了一些虚构数据作为示例:
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)
输出
>>> print(df1)
A B
4 5 11
5 6 12
6 7 13
7 8 14
>>> print(df2)
A B
0 1 5
1 2 8
2 3 9
3 4 10
4 5 11
5 6 12
6 7 13
7 8 14
答案 2 :(得分:1)
这应该有效:
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