我在jupyter笔记本中打印pandas数据帧时遇到了问题.如果列名非常长,则会破坏不同行中的数据帧结构.
我怎么能像jupyter笔记本默认的那样打印它(如图所示 - 第三个单元格)?据我所知,只有以边框表格样式打印数据框的方法,您必须将变量名称作为笔记本单元格的最后一个命令.
这是代码,如果你想检查它,
d = pd.DataFrame({'A1_column':[1, 2, 4], 'B1_column':['a', 'b', 'd'],
'A2_column':[1, 2, 4], 'B2_column':['a', 'b', 'd'],
'A3_column':[1, 2, 4], 'B3_column':['a', 'b', 'd'],
'A4_column':[1, 2, 4], 'B4_column':['a', 'b', 'd'],
'A5_column':[1, 2, 4], 'B5_column':['a', 'b', 'd'],
'A6_column':[1, 2, 4], 'B6_column':['a', 'b', 'd'],
'A7_column':[1, 2, 4], 'B7_column':['a', 'b', 'd']})
print(d)
d
Run Code Online (Sandbox Code Playgroud) 我在我的Android应用程序中集成了Facebook sdk.如手册中所述,我添加了facebook的登录回调.但是如果用户从Facebook注销,我必须更改UI.我在哪里放这个代码.我的登录代码是
/**
* Login Callback for facebook login
*/
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
//Call updateUI()
setData("provider","facebook");
loginType = LoginTypes.FB_LOGIN;
isLoggedin = true;
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
// Application code
txtName.setText(response.toString());
updateUI();
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
editText_message.setText("Login Cancelled.");
// App code
}
@Override
public void …
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个列表,然后在R中访问它的单元格.我是R的新手并且具有Matlab背景.这些[]
,[[]]
真的很烦我.我尝试在线阅读帮助,但我仍然没有得到它.在下面的代码中c["var1"][1]
返回不同于c$"var"[1]
.
什么是这三个符号的实际用途[]
,[[]]
,$
?
v <- vector("character", 5)
v[1] <- 'a'
v[2] <- 'a'
v[4] <- 'a'
v
# [1] "a" "a" "" "a" ""
c <- list(v, v)
names(c) <- c("var1", "var2")
c
# $var1
# [1] "a" "a" "" "a" ""
# $var2
# [1] "a" "a" "" "a" ""
c["var1"][1]
# $var1
# [1] "a" "a" "" "a" ""
c$"var1"[1]
# [1] "a"
Run Code Online (Sandbox Code Playgroud) 我在用c#编写的windows phone应用程序代码中使用列表框.
<Grid>
<ListBox x:Name ="gsecList" ItemsSource="{Binding}" SelectionChanged="ShowGsecDetails">
Run Code Online (Sandbox Code Playgroud)
事件处理程序:
private void ShowGsecDetails(object sender, SelectionChangedEventArgs e)
{
string indexCode = gsecList.SelectedIndex.ToString();
NavigationService.Navigate(new Uri("/contactDetail.xaml?type=gsec&index="+indexCode, UriKind.Relative));
}
Run Code Online (Sandbox Code Playgroud)
我使用eventhandler listBox1.SelectionChanged
导航到其他页面,具体取决于用户所做的选择.现在当我再次导航回页面时,我看到listITem仍然被选中.我该如何取消选择该项目?我试着用listBox1.SelectedIndex = -1
.但这似乎调用了selectionChanged事件处理程序.
我想在我的c程序中读取箭头按键并用其他字符串替换它们(立即在终端本身中).我正在尝试在unix终端中实现bash历史记录功能.我写了这段代码.
int
main(int argc, char *argv[])
{
char c;
char str[1024];
int i = 0;
while((c = fgetc(stdin)) != '\n'){
if(((int)c) == 27){
c=fgetc(stdin);
c=fgetc(stdin);
if (c == 'A')
{
printf("%c[A%c[2K",27, 27);
printf("UP");
}
}
str[i++] = c;
}
printf("\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,因为终端等待换行符或EOF将输入缓冲区发送到stdin.所以,我必须按回车键/返回键来分析用户输入.
在这个答案中,用户提到使用system ("/bin/stty raw");
但这取代了所有默认的终端行为(例如退格,删除等).
那么,有没有什么方法可以直接读取/操作终端输入缓冲区并在检测到箭头按键时调整缓冲区本身?
环境 - Ubuntu(Linux)
更新1:是否有更改信号/中断的方法(默认是按输入键),使终端将存储的输入发送到缓冲区?这也可以帮助我实现相同的行为.
最终守则:
我通过检查输出来找到特定按键的ASCII字符 strace bash
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <termios.h>
#define ESCAPE '\33'
#define BACKSPACE '\177'
#define …
Run Code Online (Sandbox Code Playgroud) 是否有更好的方法来检查工作Internet连接而不是以下代码,因为它总是返回true,我不知道为什么.
bool isNetwork=NetworkInterface.GetIsNetworkAvailable();
if(!isNetwork)
{
MessageBox.Show("Available.");
}
Run Code Online (Sandbox Code Playgroud) 究竟是什么意思"静态变量在加载类时被初始化"?我在网上阅读了很多讨论,但我仍感到困惑.第2步是初始化步骤,对吧?然后在第1步"加载类时"会发生什么?
public class NewClass {
static int[] arr; //Step 1
NewClass(){
arr = new int[10]; //Step 2
for(int i= 0;i<10;i++){
arr[i] = i;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我知道Java类实例是通过引用传递的.我试图交换两个类实例,但它没有奏效.我不明白,如果他们通过引用传递,那么代码应该有效.我在这里错过了什么?
public class Swapper {
public static void main(String[] args) {
NormalClass na = new NormalClass(1235);
NormalClass nb = new NormalClass(5468);
System.out.println("Before: 1st Object -->");
na.print_obj();
System.out.println("Before: 2nd Object -->");
nb.print_obj();
NormalClass.swap(na,nb);
System.out.println("After: 1st Object -->");
na.print_obj();
System.out.println("After: 2nd Object -->");
nb.print_obj();
}
}
class NormalClass{
public int _ID;
public static void swap(NormalClass a, NormalClass b){
NormalClass temp;
temp = a;
a = b;
b = temp;
}
public void print_obj(){
System.out.println(this._ID);
}
NormalClass(int __id){
this._ID = __id;
}
}
Run Code Online (Sandbox Code Playgroud)