我想将数据帧的行与一个公共列值合并,然后合并用逗号分隔的其余列值作为字符串值,并转换为数组/列表以获取int值。
A B C D
1 one 100 value
4 four 400 value
5 five 500 value
2 two 200 value
Run Code Online (Sandbox Code Playgroud)
预期结果如下:
A B C D
[1,4,5,2] one,four,five,two [100,400,500,200] value
Run Code Online (Sandbox Code Playgroud)
我可以对D列使用groupby,但是如何一次在df中将apply作为列的apply(np.array)和apply(','。join)应用于A,C列呢?
我有 2 个数据结构,其值如下:
List<Map<String,String>> customerDirectory
Run Code Online (Sandbox Code Playgroud)
[{NAME=ALEX BENSON, PHONE=012-12342, ADDRESS=123 MAIN ST, CITY=QUEENS, STATE=NY},
{NAME=ZOYE ABEL, PHONE=012-12445, ADDRESS=123 WATERSIDE, CITY=WINDSOR, STATE=CT}]
Run Code Online (Sandbox Code Playgroud)
和
Map<String,String> customerInfo
Run Code Online (Sandbox Code Playgroud)
{NAME=ALEX BENSON, PHONE=012-12342, ADDRESS=123 MAIN ST}
Run Code Online (Sandbox Code Playgroud)
我正在尝试遍历customerDirectory以查找customerInfo键值是否完全匹配 -"NAME","PHONE","ADDRESS"以便我可以找到记录是否重复。
所以我想出了:
List<String> compareKeys = Arrays.asList("NAME","PHONE","ADDRESS");
Function<Map<String,String>, String> getVal = mp -> compareKeys.stream().map(mp::get).map(String::trim).collect(Collectors.joining());
BiPredicate<Map<String,String>, Map<String,String>> checkDup = (mp1,mp2) -> getVal.apply(mp1).equals(getVal.apply(mp2));
boolean anyMatch = customerDirectory.stream().anyMatch(customer-> checkDup.test(customerInfo, customer));
Run Code Online (Sandbox Code Playgroud)
但是customerInfo地图可以是有价值ADDRESS的null,对此我曾尝试:
BiFunction<Map<String, String>, String, String> handleNull = (mp, key) -> mp.get(key) == …Run Code Online (Sandbox Code Playgroud) 我想计算一个字符串在另一个列表中出现的次数,并将其存储在字典列表中,其中每个字典都有一个列表的计数。前任,
list = [['Sam','John','Alex','Sam','Alex'],['Max','Sam','Max']...]
Run Code Online (Sandbox Code Playgroud)
我希望我的字典列表如下:
count_list = [{'Sam':2,'Alex':2,'John':1}, {'Max':2, 'Sam':1}..]
Run Code Online (Sandbox Code Playgroud)
我正在迭代每个列表以计算每个字符串出现的次数并将每个结果添加到字典中。但我最终每次都会得到不同的结果,而不是正确的值。
count_list = [{'Sam':2,'Alex':2,'John':1}, {'Max':2, 'Sam':1}..]
Run Code Online (Sandbox Code Playgroud)
任何帮助都会有用。谢谢。
我使用的 Sklearn 管道有多个转换器,但初始转换器之一返回数字类型,而连续的转换器采用对象类型变量。
基本上我需要挤进一个:
data[col] = data[col].astype(object)
Run Code Online (Sandbox Code Playgroud)
对于管道中所需的列。
有什么办法吗?
注意:我正在使用功能引擎转换器。
我有一个包含字符串子列表的列表。
喜欢:
info = [['Price: 5000', 'In warranty', 'Weight: 8 kg'],
['Refundable', 'Price: 2800', 'Weight: 5.5 kg', 'Extra battery power'],
['Price: 9000', 'Non-exchangeable', 'Weight: 8 kg', 'High-Quality']..]
Run Code Online (Sandbox Code Playgroud)
每个子列表都有一些无关紧要的额外字符串。我只需要在子列表中准确描述产品信息的 5 个值,并且这 5 个值中的每一个都有自己的关键字。
使用关键字从子列表中提取有用字符串并丢弃其余字符串的方法是什么?在上面的示例中,我只想保留“价格”、“重量”。
python ×3
dataframe ×1
dictionary ×1
java ×1
java-8 ×1
java-stream ×1
nested-lists ×1
pandas ×1
scikit-learn ×1