我正在尝试创建5个成员的10个不同子集,而不需要替换这些数据(在Python中):
Member CIN Needs Assessment Network Enrolled
117 CS38976K 1 1
118 GN31829N 1 1
119 GD98216H 1 1
120 VJ71307A 1 1
121 OX22563R 1 1
122 YW35494W 1 1
123 QX20765B 1 1
124 NO50548K 1 1
125 VX90647K 1 1
126 RG21661H 1 1
127 IT17216C 1 1
128 LD81088I 1 1
129 UZ49716O 1 1
130 UA16736M 1 1
131 GN07797S 1 1
132 TN64827F 1 1
133 MZ23779M 1 1
134 UG76487P 1 1
135 CY90885V 1 1
136 NZ74233H 1 1
137 CB59280X 1 1
138 LI89002Q 1 1
139 LO64230I 1 1
140 NY27508Q 1 1
141 GU30027P 1 1
142 XJ75065T 1 1
143 OW40240P 1 1
144 JQ23187C 1 1
145 PQ45586F 1 1
146 IM59460P 1 1
147 OU17576V 1 1
148 KL75129O 1 1
149 XI38543M 1 1
150 PO09602E 1 1
151 PS27561N 1 1
152 PC63391R 1 1
153 WR70847S 1 1
154 XL19132L 1 1
155 ZX27683R 1 1
156 MZ63663M 1 1
157 FT35723P 1 1
158 NX90823W 1 1
159 SC16809F 1 1
160 TX83955R 1 1
161 JA79273O 1 1
162 SK66781D 1 1
163 UK69813N 1 1
164 CX01143B 1 1
165 MT45485A 1 1
166 LJ25921O 1 1
我尝试使用random.sample()的许多变体来表示范围内的。什么都没用。到目前为止,堆栈溢出似乎没有给我提供所需的结果。
假设我们有带有数据集迭代器的line
变量。然后:
from random import sample
# Chunk length
chunk_len = 2
# Number of chunks
num_of_chunks = 5
# Get the sample with data for all chunks. It guarantees us that there will
# be no repetitions
random_sample = sample(lines, num_of_chunks*chunk_len)
# Construct the list with chunks
result = [random_sample[i::num_of_chunks] for i in range(num_of_chunks)]
result
将返回:
[['123 QX20765B 1 1',
'118 GN31829N 1 1'],
['127 IT17216C 1 1',
'122 YW35494W 1 1'],
['138 LI89002Q 1 1',
'126 RG21661H 1 1'],
['120 VJ71307A 1 1',
'121 OX22563R 1 1'],
['143 OW40240P 1 1',
'142 XJ75065T 1 1']]
这似乎是一个组合问题。这里有一个解决方案:你应该创建你的列表,比如L。然后你决定子集的大小,比如r。之后,这里是代码:
从迭代工具导入组合组合(L, r)
但是,如果您不想决定要创建的集合的大小,则可以使用如下随机模块:
从迭代工具导入随机组合(L, r=随机(a, b))
在这种情况下,这将从列表L中创建一组随机的r(a和b之间的随机整数)元素。如果您想这样做10次,可以为循环创建一个。
我希望这对你有用。
这里使用熊猫
解决方案。
假设master
是使用pandas
创建的主数据框,您可以执行以下操作:
shuffled = master.sample(frac=1)
这将创建主数据帧的副本,其中的行随机重新排序。请参阅stackoverflow上的回答或示例
方法的文档。
然后,您只需按顺序构建10个较小的五行数据帧。
subsets = []
for i in range(10):
subdf = shuffled.iloc[(i*5):(i+1)*5]
subsets.append(subdf)
子集
是包含小数据帧的列表。做:
for sub in subsets:
print(sub)
把它们全部打印出来,用肉眼确认没有重复。
给定一个数据帧say,包含100列和100行,我需要列的子集。我想同时索引两个(或多个)列块。 例如,我想要的是: (显然,这不起作用) 但是我想要第1列到第20列以及第55列到第57列。我可以用两个单独的操作来实现这一点,并将它们连接起来,但我想知道是否有一个功能可以让这一点只需一次(我知道R有这个功能,因此好奇)。 编辑:我在这里发现了一个类似的问题,但答案是字符串。可以进行多个子集设置的解决
我需要从不同的字典中创建一个熊猫数据框架,其中键必须作为数据框架内的列名。如果数据帧没有将键列为列,则必须动态创建键,并将其作为新列附加到数据帧。 我希望输入为, 输出应该是,, 循环的第一次迭代将键作为数据框的列名称,如果没有数据框,则创建值作为第一行的数据框。 第二次迭代检查键是否作为列出现在数据帧中,如果已经出现则插入,否则创建列并插入值作为第二行。 我确实不知道如何在python中动态运行
我有两个数据框,都包含英文和中文单词字符串,我想知道其中一个是另一个的子集:
我有一个DF,其中包含一个巨大的可解析元数据,作为Dataframe中的单个字符串列,我们称之为DFA,使用ColmnA。 我想通过一个函数,ClassXYZ = Func1(ColmnA)将ColmnA这一列分成多个列。这个函数返回一个具有多个变量的类ClassXYZ,现在每个变量都必须映射到新的列,比如ColmnA1、ColmnA2等。 我如何通过调用Func1一次来完成从一个数据帧到另一个数
我创建了一个json文件使用python这是一个列表。每个子列表都有chart.js图表的数据,即对于x和y轴,具有和。 这是包含列表和子列表的json。 下面的代码创建了一个图表,但我希望遍历所有条目,并为每个子列表(图表的多个实例)创建图表。 如何循环遍历下面代码中列出的json文件并创建多个chart.js图表?i、 e.,等的图表。
问题内容: 我有一个如下所示的pandas数据框,并通过一列保存数据组: 现在,我想创建新的数据框(名为df_w,df_x,df_y,df_z),这些数据框仅保存其原始数据中的数据,并在一些可迭代的列表(例如列表)中进行最佳组合: 有没有使用groupby,apply和/或applymap和函数来实现此目的的智能(矢量化熊猫)方法? 我当时正在考虑对数据框进行迭代,但这似乎不是很优雅。 预先感谢您